Metadata-Version: 2.1
Name: fred-teller
Version: 0.6.1
Summary: Fred-teller is a library for downloading and parsing of bank statements.
Home-page: UNKNOWN
Author: Ondřej Fikar
Author-email: ondrej.fikar@nic.cz
License: GPLv3+
Description: ===========
        Fred-teller
        ===========
        
        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://www.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/``. **TODO: Is it the whole URL including
                   the path?**
        :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
        
        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
        =========
        
        .. contents:: Releases
           :backlinks: none
           :local:
        
        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
        
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Internet
Classifier: Topic :: Office/Business
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: ~=3.8
Provides-Extra: quality
Provides-Extra: test
Provides-Extra: types
