Skip to main content

Fio Banka API

Project description

Fio Banka API

image image image image pre-commit.ci status

Rework of Honza Javorek's fiobank, with the following upgrades:

  • Parse both account info and transactions in 1 request. This is particularly useful as Fio banka allows only 1 request per 30 seconds.
  • Known error states are covered by exceptions for fine-grade error handling.
  • Fetch data in all supported formats (including PDF).
  • New design allows to support other end points than account.
  • Safer data types: money as decimal.Decimal instead of float, data stored as typing.NamedTuple instead of dict.

[!NOTE] Merchant transaction report and order upload are not implemented. Feel free to send a PR.

Quick example

>>> import fio_banka, datetime
>>> account = fio_banka.Account("my-API-token")
>>> transaction_report = account.fetch_transaction_report_for_period(
...     datetime.date(2023, 1, 1),
...     datetime.date(2023, 1, 2),
...     fio_banka.TransactionReportFmt.JSON
... )
>>> account.parse_account_info(transaction_report)  # JSON only
AccountInfo(
    account_id='2000000000',
    bank_id='2010',
    currency='CZK',
    iban='CZ1000000000002000000000',
    ...
)
>>> next(iter(account.parse_transactions(transaction_report)))  # JSON only
Transaction(
    transaction_id='10000000000',
    date=datetime.date(2023, 1, 1),
    amount=Decimal('2000.0'),
    currency='CZK',
    account_id=None,
    ...

Documentation

For full description see the module docstring.

API documentation by Fio banka:

Installation

pip install fio-banka

Contributing

Set up development environment via Pipenv:

pipenv sync --dev
pipenv run pre-commit install

Run tests:

pytest

Use Conventional Commits.

I highly recommend to follow Test-Driven Development (revisited). Actually, all existing tests follow it.

License

This project is licensed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fio_banka-3.0.1.tar.gz (23.9 kB view hashes)

Uploaded Source

Built Distribution

fio_banka-3.0.1-py3-none-any.whl (7.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page