Installing ofxtools

You have a few options to install ofxtools. If you like, you can install it in a virtual environment, but since ofxtools has no external dependencies, that doesn’t really gain you much.

A simpler option for keeping clutter out of your system Python site is the user install option, which is recommended if only one system user needs the package (the normal situation).

Installation dependencies

You need to install Python 3 (at least version 3.6) in order to use ofxtools. It won’t work at all under Python 2.

In order to use the OFX client to download OFX files, your Python 3 installation needs to be able to validate SSL certificates. Users of Mac OS X should heed the following note from the ReadMe.rtf included with the Python installer as of version 3.6:

This variant of Python 3.6 now includes its own private copy of OpenSSL 1.0.2. Unlike previous releases, the deprecated Apple-supplied OpenSSL libraries are no longer used. This also means that the trust certificates in system and user keychains managed by the Keychain Access application and the security command line utility are no longer used as defaults by the Python ssl module. For 3.6.0, a sample command script is included in /Applications/Python 3.6 to install a curated bundle of default root certificates from the third-party certifi package.

To facilitate keeping this important security package up to date, it’s advisable for Mac users to instead employ pip:

$ pip install certifi

Standard installation

If you just want to use the ofxtools library, and you don’t have any special needs, you should probably install the most recent release on PyPI:

$ pip install --user ofxtools

Or if you want to install it systemwide, as root just run:

$ pip install ofxtools

Bleeding edge installation

To install the most recent prerelease (which is where the magic happens, and also the bugs), you can download the current master, unzip it, and install via the included setup file:

$ pip install --user .

Developer’s installation

If you want to hack on ofxtools, you should clone the source and install is in development mode:

$ git clone https://github.com/csingley/ofxtools.git
$ cd ofxtools
$ pip install -e .
$ pip install -r ofxtools/requirements-development.txt

Extra goodies

In addition to the Python package, these methods will also install the ofxget script - a basic command line interface for downloading files from OFX servers. pip uninstall ofxtools will remove this script along with the package.