<commit_before># fixofx #

## Canonicalize various financial data file formats to OFX 2 (a.k.a XML) ##

`fixofx.py` is a Python utility that canonicalizes various financial data file
formats to OFX 2, which is an XML format and hence a lot easier for other code
to deal with. It recognizes OFX 1.x, OFX 2.x, QFX, QIF, and OFC.

Pipe a data file to `fixofx.py`, or specify an input file with the `-f` flag, and
if the file is successfully parsed, an OFX 2 file with equivalent data will
be output.

Various parts of fixofx go through contortions to try to interpret ambiguous
or malformed data, both of which are very common when importing bank data
files. QIF, in particular, is an extremely irregular file format, and fixofx
makes best efforts but will not cover all cases. Also, some international
formats are recognized and interpreted, such as British versus US date
formats, but more work could be done on this.

The fixofx project also includes `fakeofx.py`, a utility script to generate fake
OFX files for testing purposes.

## Installation ##

There are no external dependencies other than Python 2.6 or above. The project
has not been tested at all with Python 3.

Just clone the repo from GitHub and you're good to go:
<commit_msg>Try to make the header a little more readable.<commit_after># fixofx #
### Canonicalize various financial data file formats to OFX 2 (a.k.a XML) ###

`fixofx.py` is a Python utility that canonicalizes various financial data file
formats to OFX 2, which is an XML format and hence a lot easier for other code
to deal with. It recognizes OFX 1.x, OFX 2.x, QFX, QIF, and OFC.

Pipe a data file to `fixofx.py`, or specify an input file with the `-f` flag, and
if the file is successfully parsed, an OFX 2 file with equivalent data will
be output.

Various parts of fixofx go through contortions to try to interpret ambiguous
or malformed data, both of which are very common when importing bank data
files. QIF, in particular, is an extremely irregular file format, and fixofx
makes best efforts but will not cover all cases. Also, some international
formats are recognized and interpreted, such as British versus US date
formats, but more work could be done on this.

The fixofx project also includes `fakeofx.py`, a utility script to generate fake
OFX files for testing purposes.

## Installation ##

There are no external dependencies other than Python 2.6 or above. The project
has not been tested at all with Python 3.

Just clone the repo from GitHub and you're good to go:

{'fraction_non_alphanumeric': 0.04809220985691574, 'fraction_numerical': 0.006359300476947536, 'mean_word_length': 4.211180124223603, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6374927', 'n_tokens_mistral': 707, 'n_tokens_neox': 676, 'n_words': 420}