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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file fio_banka-3.0.1.tar.gz.

File metadata

  • Download URL: fio_banka-3.0.1.tar.gz
  • Upload date:
  • Size: 23.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for fio_banka-3.0.1.tar.gz
Algorithm Hash digest
SHA256 f7b1a5668acfef93a56ed674e71801efdfd33ca009df4e532f1b48308207eaf3
MD5 26c69969cf6defbd22ad64983e6e18cc
BLAKE2b-256 c924eb6ec64c3c8446fd7abd1277f46aecdd0571442cd4540cf7143c540f0a49

See more details on using hashes here.

File details

Details for the file fio_banka-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: fio_banka-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for fio_banka-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 37a395278049ddb8271d3d95aafccfc57957d68a574fefee5131f99cf9361959
MD5 4e6f5addb465a063b2baeecb356938b7
BLAKE2b-256 171015cae9d153e625fa33406df98cfe6e1f7cb79d3f2bcc3f607537015b130f

See more details on using hashes here.

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