/aiomonobank

Asynchronous Python library for monobank API

Primary LanguagePythonMIT LicenseMIT

AIOMonobank

Asynchronous Python library for monobank API

MIT License PyPi status PyPi Package Version Downloads Supported python versions

Setup

  • You get token for your client from MonobankAPI.
  • Install the latest version of the aiomonobank: pip install aiomonobank

Examples

We currently have 2 different classes for using the Monobank API:

  • MonoPublic is simple base class for others, can only get currencies
  • MonoPersonal - this class for talk to personal Monobank API

get_currency request

import json
import asyncio

from aiomonobank import MonoPublic, types


async def main():
    async with MonoPublic() as mono_client:
        currencies: list[types.Currency] = await mono_client.get_currency()

    for currency in currencies:
        print(currency)

if __name__ == '__main__':
    asyncio.run(main())
import asyncio

from aiomonobank import MonoPersonal

MONOBANK_API_TOKEN = 'your_api_token_here'


async def main():
    mono_client = MonoPersonal(MONOBANK_API_TOKEN)
    try:
        client_info = await mono_client.get_client_info()

        print(f"Client name: {client_info.name}")
        print(client_info)
    finally:
        await mono_client.close()


if __name__ == '__main__':
    asyncio.run(main())
import asyncio
from datetime import datetime, timedelta

from aiomonobank import MonoPersonal

MONOBANK_API_TOKEN = 'your_api_token_here'


async def main():
    mono_client = MonoPersonal(MONOBANK_API_TOKEN)
    try:
        transactions = await mono_client.get_statement(
            account_id='0',
            from_datetime=datetime.utcnow() - timedelta(days=3),
            to_datetime=datetime.utcnow() - timedelta(days=2)
        )

        for transaction in transactions:
            print(transaction)
    finally:
        await mono_client.close()


if __name__ == '__main__':
    asyncio.run(main())

Resources: