<commit_before>Requirements
============

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).
* 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 setup.py build_sphinx``.

.. _OATH Toolkit download page: http://www.nongnu.org/oath-toolkit/download.html
.. _Cython: http://cython.org/
.. _CFFI: http://pypi.python.org/pypi/cffi
.. _django-otp: https://pypi.python.org/pypi/django-otp
.. _Django: https://www.djangoproject.com/
.. _Pillow: http://pypi.python.org/pypi/Pillow<commit_msg>docs: add note about libffi<commit_after>Requirements
============

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 setup.py build_sphinx``.

.. _OATH Toolkit download page: http://www.nongnu.org/oath-toolkit/download.html
.. _Cython: http://cython.org/
.. _CFFI: http://pypi.python.org/pypi/cffi
.. _django-otp: https://pypi.python.org/pypi/django-otp
.. _Django: https://www.djangoproject.com/
.. _Pillow: http://pypi.python.org/pypi/Pillow
{'fraction_non_alphanumeric': 0.11149281698938164, 'fraction_numerical': 0.021861336664584636, 'mean_word_length': 3.745185185185185, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1825149', 'n_tokens_mistral': 1104, 'n_tokens_neox': 1031, 'n_words': 402}