Metadata-Version: 2.0
Name: mt-940
Version: 4.6
Summary: A library to parse MT940 files and returns smart Python collections for statistics and manipulation.
Home-page: https://github.com/WoLpH/mt940
Author: Rick van Hattem (wolph)
Author-email: wolph@wol.ph
License: BSD
Keywords: MT940
Platform: UNKNOWN
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: pyyaml

=====
MT940
=====


.. image:: https://travis-ci.org/WoLpH/mt940.svg?branch=master
    :alt: MT940 test status
    :target: https://travis-ci.org/WoLpH/mt940

.. image:: https://badge.fury.io/py/mt-940.svg
    :alt: MT940 Pypi version
    :target: https://pypi.python.org/pypi/mt-940

.. image:: https://coveralls.io/repos/WoLpH/mt940/badge.svg?branch=master
    :alt: MT940 code coverage
    :target: https://coveralls.io/r/WoLpH/mt940?branch=master

.. image:: https://img.shields.io/pypi/pyversions/mt-940.svg
    :alt: Supported Python versions
    :target: https://crate.io/packages/mt-940?version=latest

``mt940`` - A library to parse MT940 files and returns smart Python collections
for statistics and manipulation.

Links
-----

* Documentation
    - http://mt940.readthedocs.org/en/latest/
* Source
    - https://github.com/WoLpH/mt940
* Bug reports 
    - https://github.com/WoLpH/mt940/issues
* Package homepage
    - https://pypi.python.org/pypi/mt-940
* My blog
    - http://wol.ph/

Install
-------

To install the latest release:

.. code-block:: bash

    pip install mt-940

Or if `pip` is not available:

.. code-block:: bash

    easy_install mt-940

To install the latest development release:

.. code-block:: bash

    git clone --branch develop https://github.com/WoLpH/mt940.git mt940
    cd ./mt940
    virtualenv .env
    source .env/bin/activate
    pip install -e .

To run the tests you can use the `py.test` command or just run `tox` to test
everything in all supported python versions.

Usage
-----

Basic parsing:

.. code-block:: python

   import mt940
   import pprint

   transactions = mt940.parse('tests/jejik/abnamro.sta')

   print 'Transactions:'
   print transactions
   pprint.pprint(transactions.data)

   print
   for transaction in transactions:
       print 'Transaction: ', transaction
       pprint.pprint(transaction.data)

Set opening / closing balance information on each transaction:

.. code-block:: python

   import mt940
   import pprint

   mt940.tags.BalanceBase.scope = mt940.models.Transaction

   # The currency has to be set manually when setting the BalanceBase scope to Transaction.
   transactions = mt940.models.Transactions(processors=dict(
       pre_statement=[
           mt940.processors.add_currency_pre_processor('EUR'),
       ],
   ))

   with open('tests/jejik/abnamro.sta') as f:
       data = f.read()

   transactions.parse(data)

   for transaction in transactions:
       print 'Transaction: ', transaction
       pprint.pprint(transaction.data)

Contributing
------------

Help is greatly appreciated, just please remember to clone the **development**
branch and to run `tox` before creating pull requests.

Travis tests for `flake8` support and test coverage so it's always good to
check those before creating a pull request.

Development branch: https://github.com/WoLpH/mt940/tree/development

Info
----

==============  ==========================================================
Python support  Python 2.7, >= 3.3
Blog            http://wol.ph/
Source          https://github.com/WoLpH/mt940
Documentation   http://mt940.rtfd.org
Changelog       http://mt940.readthedocs.org/en/latest/history.html
API             http://mt940.readthedocs.org/en/latest/modules.html
Issues/roadmap  https://github.com/WoLpH/mt940/issues
Travis          http://travis-ci.org/WoLpH/mt940
Test coverage   https://coveralls.io/r/WoLpH/mt940
Pypi            https://pypi.python.org/pypi/mt-940
Ohloh           https://www.ohloh.net/p/mt-940
License         `BSD`_.
git repo        .. code-block:: bash

                    $ git clone https://github.com/WoLpH/mt940.git
install dev     .. code-block:: bash

                    $ git clone https://github.com/WoLpH/mt940.git mt940
                    $ cd ./mt940
                    $ virtualenv .env
                    $ source .env/bin/activate
                    $ pip install -e .
tests           .. code-block:: bash

                    $ py.test
==============  ==========================================================

.. _BSD: http://opensource.org/licenses/BSD-3-Clause
.. _Documentation: http://mt940.readthedocs.org/en/latest/
.. _API: http://mt940.readthedocs.org/en/latest/modules.html


=========
Changelog
=========

Here you can find the recent changes to MT940..

A complete list of changes can be read through the commit log:
https://github.com/WoLpH/mt940/commits/develop

.. changelog::
    :version: dev
    :released: Ongoing

    .. change::

        Just look at the commits and you'll see :)

.. changelog::
    :version: 3.2
    :released: 2015-08-15

    .. change::
        :tags: project, tests

        Added support for final and intermediate opening/closing balance

.. changelog::
    :version: 3.1
    :released: 2015-08-12

    .. change::
        :tags: project, tests

        Fixed bug that allowed non-tags (for example, timestamps)
        to be recognized as tags. 

.. changelog::
    :version: 3.0
    :released: 2015-07-11

    .. change::
        :tags: project, docs, tests, coverage, python 3

        Pretty large rewrite with Python 3 support, 100% test coverage,
        coveralls support and more

.. changelog::
    :version: 2.1
    :released: 2015-05-24

    .. change::
        :tags: project, docs, tests, coverage

        Enabled coveralls, added more docs, improved tests

.. changelog::
    :version: 2.0
    :released: 2015-05-24

    .. change::
        :tags: project, docs, tests, coverage

        Large rewrite and 100% test coverage

.. changelog::
    :version: 1.0
    :released: 2014-04-09

    .. change::
        :tags: project

        First release on PyPi.

.. todo:: vim: set filetype=rst:


