Skip to content

pawelad/pymonzo

pymonzo

Package Version Supported Python Versions Read the Docs Codecov License Code style: black py.typed

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.

Installation

From PyPI (ideally, inside a virtualenv):

$ python -m pip install pymonzo

Quick start

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

Authors

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.

About

Modern Python API client for Monzo public API.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors 6