cznic/public/: fred-teller-1.1.0 metadata and description

Simple index

Fred-teller is a library for downloading and parsing of bank statements.

author Ondřej Fikar
author_email ondrej.fikar@nic.cz
classifiers
  • Development Status :: 2 - Pre-Alpha
  • Environment :: Console
  • Intended Audience :: Information Technology
  • License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
  • Operating System :: OS Independent
  • Programming Language :: Python
  • Programming Language :: Python :: 3.8
  • Programming Language :: Python :: 3.9
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: 3.12
  • Topic :: Internet
  • Topic :: Office/Business
  • Topic :: Utilities
  • Typing :: Typed
license GPLv3+
provides_extras types
requires_dist
  • defusedxml>=0.6.0
  • py-moneyed>=0.8.0
  • requests>=2.9
  • typing-extensions>=3.7.4.3
  • zeep<5,>=3
  • doc8; extra == "quality"
  • mypy; extra == "quality"
  • ruff; extra == "quality"
  • responses>=0.12.0; extra == "test"
  • testfixtures; extra == "test"
  • types-requests; extra == "types"
requires_python ~=3.8

Because this project isn't in the mirror_whitelist, no releases from root/pypi are included.

File Tox results History
fred_teller-1.1.0-py3-none-any.whl
Size
77 KB
Type
Python Wheel
Python
3
fred_teller-1.1.0.tar.gz
Size
60 KB
Type
Source

Python library for downloading and conversion of bank statements.

Usual workflow is like this:

downloader = BankStatementDownloader(**params)
raw_statements = downloader.get_statements(start_date, end_date)
statement = BankStatementParser.parse_file(raw_statement.buffer)

where params are downloader specific parameters (see bellow) and start_date and end_date specify the interval for which the statements should be downloaded. BankStatementDownloader and BankStatementParser should be replaced by concrete implementations for the concrete bank.

Downloaders

Module containing classes used to download data from banks.

RawStatement

An auxiliary class holding the raw data downloaded from the bank along with some metadata such as encoding of the statement.

FioStatementDownloader

Downloader used to download statements from Fio bank.

Parameters

base_url:URL of the API. Usually https://fioapi.fio.cz/.
password:A password used to identify to the bank.

RaiffeisenStatementDownloader

Downloader used to download statements from Raiffeisen bank.

Parameters

base_url:URL of the API. Usually https://online.rb.cz/.
shopname:A parameter assigned to the customer by the bank to identify to the API.
creditaccount:A parameter assigned to the customer by the bank to identify to the API.
creditbank:A parameter assigned to the customer by the bank to identify to the API.
password:A password used to identify to the bank.

CSOBStatementDownloader

Downloader used to download statements from ČSOB bank.

Parameters

base_url:URL of the API. Usually https://ceb-bc.csob.cz/cebbc/api/.
wsdl_file:A path to the WSDL file containing the specification of the SOUP API
contract_number:
 Contract number assigned by the bank.
cert_path:Path to the certificate file.
key_path:Path to the key file.
file_content:Content of file (periodic, intraday statement) as a member of CSOBStatementDownloader.FileContent enum.
file_type:Type (format) of the statement which should be downloaded specified as a member of CSOBStatementDownloader.FileType enum.
statement_frequency:
 Specify whether to download daily or monthly statement. Member of CSOBStatementDownloader.StatementFrequency enum.
include_accounts:
 List of account numbers to be included. If set only statements for these accounts will be downloaded.
exclude_accounts:
 List of account numbers to be excluded. Statements for the accounts listed in this parameter will not be downloaded.
retries:If there are statements which should be downloaded but are not ready yet the downloader may wait for some time and retry. This parameter specifies the number of retries before the files are downloaded omitting the files which are not ready.

Parsers

Module containing classes used to parse RawStatement containing the raw data downloaded from the banks. Available parsers are:

FioParser:for Fio bank
RaiffeisenParser:
 for Raiffeisen bank
CSOBParser:for ČSOB
JsonParser:for maintenance and testing purposes

Parsers are parameterless. The method parse_file optionally accepts encoding of the data contained in the RawStatement.

Statement

Module containing class BankStatement which holds data about a bank statement and Payment which holds data about an individual payment.

ChangeLog

1.1.0 (2025-03-31)

Maintenance

  • Update project settings (allow use of uv, add Python 3.12)

1.0.0 (2024-08-27)

  • Rename version

0.6.3 (2024-08-23)

New features

  • Add JsonParser for JSON bank statements (#2)

Maintenance

  • Fix some deprecation warnings
  • Avoid terminal output in tests

0.6.2 (2024-06-25)

Fixes

  • Fix CSOBParser to handle foreign currencies (#9)

0.6.1 (2024-06-20)

Fixes

  • Allow to use both APIs of Fio bank (#8)

0.6.0 (2024-06-14)

New features

  • Add support for intraday account reports in CSOB (#6).

Maintenance and fixes

  • Change URL for Fio banka API (#5).
  • Add timeout to downloads from CSOB (#3).
  • Drop support for python 3.7.
  • Add support for python 3.11.
  • Use ruff for formatting code.

0.5.1 (2022-10-04)

  • Fix encoding of Raiffeisenbank statements

0.5.0 (2022-10-04)

  • Drop support for python 3.5 and 3.6 and zeep 2.
  • Add support for python 3.10.
  • Ignore Raiffeisenbank subaccounts in statements (#1).
  • Update documentation.
  • Update static checks.

0.4.0 (2021-07-19)

  • Do not support TextIO or BytesIO interface in RawStatement any more. Use it as a data class instead.
  • Do not convert downloaded data to str in downloaders. Use binary data in RawStatement instead.

0.3.7 (2021-07-13)

Add capability to retry download when files are not ready to CSOBStatementDownloader.

0.3.6 (2021-06-29)

Use BIC instead of bank code if bank code is missing in FioParser.

0.3.5 (2021-04-14)

Check slash at the end of base_url parameter in Downloaders.

0.3.4 (2021-04-08)

Change BankStatementDownloader interface to return Sequence instead of Iterable.

0.3.3 (2021-03-23)

Allow account filtering for CSOBStatementDownloader.

0.3.2 (2021-03-04)

Fix changelog

0.3.1 (2021-02-11)

Incorporate changes from 0.2.1.

0.3.0 (2021-02-09)

Allow GPC statement download from CSOB.

  • Allow filtering by statement type and frequency for CSOB
  • Use datetime instead of date in API calls
  • Return statements as RawStatement data class instead of string

0.2.2 (2021-03-04)

Fix changelog

0.2.1 (2021-02-11)

Use older versions of modules.

  • Use older version of requests
  • Use older version of zeep

0.2.0 (2021-02-01)

Add Raiffeisen and CSOB downloaders and parsers.

  • Add Raiffeisen downloader.
  • Add CSOB downloader.
  • Add Raiffeisen parser
  • Add CSOB parser
  • Add JSON import/export
  • Implement eq for Payment data class
  • Remove data classes validation
  • Remove whitespace from empty statements in Raiffeisen downloader
  • Return None for incomplete account number
  • Consistent treatment of empty strings and Nones in account numbers
  • Declare type annotation support

0.1.0 (2020-10-29)

Initial version.

  • BankStatementDownloader and BankStatementParser interfaces
  • BankStatement and Payment data classes
  • Implementations for CSOB, Fio, and Raiffeisen