Modern Python API client for Monzo public API.
- Works on Python 3.9+
- Fully type annotated
- Explicitly defined and validated API schemas (via Pydantic)
- Sensible defaults (don't specify account / pot ID if you only have one active)
- Easy authentication (with automatic access token refreshing)
- (Optional) Rich support for pretty printing
For example usage, feel free to take a look at pawelad/monz.
This project is not officially affiliated with Monzo.
From PyPI (ideally, inside a virtualenv):
$ python -m pip install pymonzo
Here's an example of what pymonzo
can do:
>>> from pymonzo import MonzoAPI
>>> monzo_api = MonzoAPI()
>>> accounts = monzo_api.accounts.list()
>>> len(accounts)
2
>>> # Only one active account, so we don't need to pass it explicitly
>>> monzo_api.balance.get()
MonzoBalance(balance=75000, total_balance=95012, currency='GBP', spend_today=0, balance_including_flexible_savings=95012, local_currency='', local_exchange_rate=0, local_spend=[])
>>> from pymonzo.utils import n_days_ago
>>> transactions = monzo_api.transactions.list(since=n_days_ago(5))
>>> len(transactions)
8
Developed and maintained by Paweł Adamczak.
Source code is available at GitHub.
If you'd like to contribute, please take a look at the contributing guide.
Released under Mozilla Public License 2.0.