Logo Lanfrica

A1ET/ethio-receipt-sdk

Domaine:

digital infrastructure

Type de record:

software
Créateur:
A1ET
Hôte:
Professional, type-safe Python SDK for parsing and extracting structured data from Ethiopian bank transaction receipts Ethio Receipt SDK A professional, type-safe Python SDK for parsing Ethiopian bank transaction receipts --- ## Why This SDK? | Feature | Description | |---------|-------------| | **Auto-Detection** | Automatically identifies the bank from any receipt URL | | **Type-Safe** | Full Pydantic models with validation — no more raw dicts | | **Unified Output** | Same `Receipt` model regardless of bank | | **REST API** | Built-in FastAPI server for microservice deployment | | **Retry Logic** | Exponential backoff with configurable retries | | **Batch Processing** | Parse multiple receipts in one call | | **Export Formats** | JSON, CSV, and dict export built-in | | **Beautiful CLI** | Rich terminal output with colored tables | | **Plugin Architecture** | Easy to add new banks without modifying core code | --- ## Supported Banks | Bank | ID | Receipt Type | Auto-Detect | |------|-----|-------------|-------------| | Commercial Bank of Ethiopia | `cbe` | PDF | Yes | | Dashen Bank | `dashen` | PDF | Yes | | Awash Bank | `awash` | HTML | Yes | | Bank of Abyssinia | `boa` | HTML (JS) | Yes | | Zemen Bank | `zemen` | PDF | Yes | | Telebirr (Ethio Telecom) | `telebirr` | HTML | Yes | --- ## Installation ```bash # Core SDK pip install ethio-receipt-sdk # With REST API support pip install ethio-receipt-sdk[api] # With Selenium (needed for BOA) pip install ethio-receipt-sdk[selenium] # Everything pip install ethio-receipt-sdk[all] ``` --- ## Quick Start ### Parse a Receipt (3 lines) ```python from ethio_receipt_sdk import ReceiptParser parser = ReceiptParser() receipt = parser.parse("apps.cbe.com.et") print(receipt.sender.name) # "JOHN DOE" print(receipt.amount) # ETB 1,250.75 print(receipt.reference) # "FT25211G11JQ" print(receipt.status) # TransactionStatus.SUCCESS ``` ### Auto-Detection (No Bank Specified) ```python from ethio_receipt_sdk import ReceiptParser parser = ReceiptParser( …