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( …