cedikit
A Python toolkit for Ghanaian phone numbers, cedi amounts and Mobile Money transactions.
Not a programmer?
Start with cedikit in plain words: what it does, explained with a story and no technical terms.
Almost every Ghanaian digital product handles the same data: phone numbers typed five different ways, cedi amounts, and Mobile Money (MoMo) SMS alerts. cedikit handles them once, carefully, with tests.
pip install cedikit # core + command line
pip install "cedikit[all]" # + pandas, Excel, charts, ML, Pydantic, Django, Flask
| Module | What it does |
|---|---|
phone |
Normalise, validate, format and mask numbers; guess the network |
money |
Exact Decimal parsing, formatting, words and the float-proof Cedi type |
sms |
MTN MoMo and Telecel Cash SMS → structured transactions; anonymiser |
fraud |
Rates payment SMS as LOW / MEDIUM / HIGH risk and explains why |
ledger |
Summaries, cash flow, categories, balance gaps, Excel/CSV/JSON export, charts |
fees |
Fee and E-Levy estimates from dated, sourced tables |
ids |
Ghana Card and GhanaPostGPS format checks |
| Integrations | pandas accessor, Pydantic types, Django and Flask validators |
| Web API | Use cedikit from JavaScript, PHP, Flutter or any other language |
Principles
- Offline. No network calls anywhere. No data leaves the device.
- Honest outputs. Networks are likely (numbers can be ported), fees are estimates, fraud results are risk indicators. Unknown values are reported as unknown, never guessed.
- Money is never a float.
- Data lives in data files. Prefixes, SMS templates, fee tables and scam phrases are YAML, so they can be updated without code changes.
Always confirm payments
No SMS check can prove a payment is real. Before releasing goods, confirm the payment in your official Mobile Money app or through your network's official USSD menu.
Built in Ghana, for Ghana.