A library to parse MT940 files and returns smart Python collections for statistics and manipulation.
Project description
=====
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-hypernode.com/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-hypernode.com/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)
Simple json encoding:
.. code-block:: python
import json
import mt940
transactions = mt940.parse('tests/jejik/abnamro.sta')
def default(value):
if isinstance(value, mt940.models.Transactions):
data = value.data.copy()
data['transactions'] = value.transactions
return data
elif hasattr(value, 'data'):
return value.data
print(json.dumps(transactions, default=default, indent=4))
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-hypernode.com/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::
Added mt940 transaction detail parser.
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:
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-hypernode.com/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-hypernode.com/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)
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)
Simple json encoding:
.. code-block:: python
import json
import mt940
transactions = mt940.parse('tests/jejik/abnamro.sta')
def default(value):
if isinstance(value, mt940.models.Transactions):
data = value.data.copy()
data['transactions'] = value.transactions
return data
elif hasattr(value, 'data'):
return value.data
print(json.dumps(transactions, default=default, indent=4))
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-hypernode.com/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::
Added mt940 transaction detail parser.
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:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mt-940-4.11.0.tar.gz
(19.7 kB
view details)
Built Distribution
File details
Details for the file mt-940-4.11.0.tar.gz
.
File metadata
- Download URL: mt-940-4.11.0.tar.gz
- Upload date:
- Size: 19.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14812d4fbabc2b38c645c83089c732e72fd9ee4b12d9c6f9af34e81b4728f2c4 |
|
MD5 | da6bdab1fe3272b6522c6dd34a88fd5d |
|
BLAKE2b-256 | 7c026d4ba97ff1117e08258844f51b507b5c45d20e461a6e981d690a210c959e |
File details
Details for the file mt_940-4.11.0-py2.py3-none-any.whl
.
File metadata
- Download URL: mt_940-4.11.0-py2.py3-none-any.whl
- Upload date:
- Size: 22.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c646120f457dcd475a51c4f7bfcdaaad0a52e77c98aa027c8b966665820ed60 |
|
MD5 | 24d7aab3d706b60b91f4c7d4852e739d |
|
BLAKE2b-256 | af1a15732d52dab7df76b8094b60864233b021a9339f7900dad60820a0167f17 |