Metadata-Version: 1.1
Name: python-libmt94x
Version: 0.3.3
Summary: This library generates bank statements in MT940/MT942 format
Home-page: https://github.com/gingerpayments/python-libmt94x
Author: Ginger Payments
Author-email: dev@gingerpayments.com
License: MIT
Description: ========
        libmt94x
        ========
        
        
        .. image:: https://api.travis-ci.org/gingerpayments/python-libmt94x.png?branch=develop
            :target: https://travis-ci.org/gingerpayments/python-libmt94x
        
        .. image:: https://scrutinizer-ci.com/g/gingerpayments/python-libmt94x/badges/coverage.png?b=develop
            :target: https://scrutinizer-ci.com/g/gingerpayments/python-libmt94x/
        
        
        MT940/MT942 is a text based data file format used in bank account statements
        (commonly used by banks in the Netherlands). A bank account statement contains
        your account balance as well as a listing of all the transactions between a
        given start date and end date.
        
        This library provides an API to define and serialize MT940/MT942 documents in
        Python. It does not provide a parser.
        
        
        
        
        Installation
        ============
        
        TODO: pip install instructions
        
        
        
        
        Usage
        =====
        
        
        Creating MT940 documents
        ------------------------
        
        ``libmt94x`` implements two ING-defined dialects of MT940:
        
        * Mijn ING Zakelijk (dubbed ``ming``),
        
        * Inside Business Payments (dubbed ``ibp``).
        
        No matter which dialect your are using you first need to construct an
        ``MT940Document`` and then use the appropriate method to write it out
        to the target dialect::
        
        
            from libmt94x.document import Mt940Document
            from libmt94x.fields import AccountIdentification
            # ...snip...
            from libmt94x.fields import TransactionReferenceNumber
            from libmt94x.serializer import Mt94xSerializer
            from libmt94x.writer import Mt94xWriter
        
        
            serializer = Mt94xSerializer()
            writer = Mt94xWriter(serializer)
        
            doc = Mt940Document(
                transaction_reference_number=TransactionReferenceNumber('P140220000000001'),
                account_identification=AccountIdentification('NL69INGB0123456789', 'EUR'),
                # ...snip...
            )
        
            # to write using the ``ming`` dialect
            bytestring = writer.write_document_ming(doc)
        
            # to write using the ``ibp`` dialect
            bytestring = writer.write_document_ibp(doc)
        
        
        How to find more info
        ---------------------
        
        * For more details on the API and compatibility issues see docs/design.rst.
        
        * For example MT940 documents see tests/examples/.
        
        * For fully fledged code examples see the tests in
          tests/test_writer_doc_XXX.py.
        
        
        
        
        Developing on libmt94x
        ======================
        
        
        Running tests
        -------------
        
        It is recommended that you use a virtualenv when working on libmt94x. To run
        tests you will first need to install the development dependencies, which
        include ``tox``::
        
            $ pip install -r dev-requirements.txt
        
        Now run the tests using tox (this will invoke py.test inside the tox-managed
        virtual test environment)::
        
            $ tox
        
        This will run tests, collect test coverage and run the style checker
        ``flake8``. For a more lightweight test run you can run pytest directly::
        
            $ py.test
        
        
        Contributing
        ------------
        
        Please see CONTRIBUTING.rst for guidelines on how to contribute to libmt94x.
        
        Changelog
        =========
        
        
        0.3.3 (2016-07-11)
        ------------------
        
        - First release to PyPI.
          [numerodix]
        
        
        0.3.2 (2016-06-27)
        ------------------
        
        - Add README.txt and HISTORY.rst to setup.py long_description for display on
          ginger devpi.
          [numerodix]
        
        
        0.3.1 (2016-05-13)
        ------------------
        
        - Use standard packaging and testing conventions in this package.
          [numerodix]
Platform: OS Independent
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
