The package requires the following:

  • liboath from OATH Toolkit. If you can’t find it with your distribution’s package manager, please consult the OATH Toolkit download page. This has been tested with 1.12.6 and 2.0.2.
  • It is recommended that you use this package on a 64-bit architecture.
  • Python 2.6, 2.7, 3.3, 3.4, PyPy ≥ 2.0, or PyPy3 ≥ 2.3.1.
  • One of the following:
    • For CPython, a Cython/C extension is available. In order to compile this, the development/header files for liboath and a C compiler are required. If installing from Git, Cython 0.18 or higher is also required.
    • The CFFI package (this is included with PyPy/PyPy3, otherwise requires libffi development/header files).
  • For optional django-otp integration, the django-otp library is required. Additionally, the OTP models use a field that only exists in Django 1.6 and above.
  • For optional QR code support, the Pillow and qrcode libraries are required. This feature does not work with PyPy3 2.4.0, as qrcode requires at least one Python 3.3 feature.
  • For optional WTForms integration, the WTForms library is required.
  • If you would like to build the documentation, install Sphinx and run python build_sphinx.


Basic installation from Git:

pip install git+

Installation from Git with the qrcode feature:

pip install git+[qrcode]