<commit_before>Installation
============
.. epigraph::

    Make things as simple as possible, but not any simpler.

    -- <NAME>


The Python Distutils are used to build and install PyTables, so it is fairly
simple to get the application up and running. If you want to install the
package from sources you can go on reading to the next section.

However, if you are running Windows and want to install precompiled binaries,
you can jump straight to :ref:`binaryInstallationDescr`. In addition, binary
packages are available for many different Linux distributions, MacOSX and
other Unices.  Just check the package repository for your preferred operating
system.

Installation from source
------------------------

These instructions are for both Unix/MacOS X and Windows systems. If you are
using Windows, it is assumed that you have a recent version of MS Visual C++
compiler installed.
A GCC compiler is assumed for Unix, but other compilers should work as well.

Extensions in PyTables have been developed in Cython (see
:ref:`[CYTHON] <CYTHON>`) and the C language. You can rebuild everything
from scratch if you have Cython installed, but this is not necessary, as the
Cython compiled source is included in the source distribution.

To compile PyTables you will need a recent version of Python, the HDF5 (C
flavor) library from http://hdfgroup.org, and the NumPy (see
:ref:`[NUMPY] <NUMPY>`) and Numexpr (see  :ref:`[NUMEXPR] <NUMEXPR>`)
packages.
Although you won't need numarray (see :ref:`[NUMARRAY] <NUMARRAY>`) or Numeric
(see :ref:`[NUMERIC] <NUMERIC>`) in order to compile PyTables, they are
supported; you only need a reasonably recent version of them (>= 1.5.2 for
numarray and >= 24.2 for Numeric) if you plan on using them in your
applications. If you already have numarray and/or Numeric installed, the test
driver module will detect them and will run the tests for numarray and/or
Numeric automatically.

.. warning:: The use of numarray and Numeric in PyTables is now deprecated.
   Support for these packages will be dropped in future versions.

Prerequisites
~~~~~~~~~~~~~

First, make sure that you have at least Python 2.4, HDF5 1.6.10, NumPy 1.4.1,
Numexpr 1.4.1 and Cython 0.13 or higher installed (for testing purposes, we
are using HDF5 1.6.10/1.8.5, NumPy 1.5 and Numexpr 1.4.1 currently).
If you don't, fetch and install them before proceeding.

Compile and install these packages (but see :ref:`prerequisitesBinInst` for
instructions on how to install precompiled binaries if you are not willing to
compile the prerequisites on Windows systems).

For compression (and possibly improved performance), you will need to install<commit_msg>Prerequisites converted into a bullet list<commit_after>Installation
============
.. epigraph::

    Make things as simple as possible, but not any simpler.

    -- <NAME>


The Python Distutils are used to build and install PyTables, so it is fairly
simple to get the application up and running. If you want to install the
package from sources you can go on reading to the next section.

However, if you are running Windows and want to install precompiled binaries,
you can jump straight to :ref:`binaryInstallationDescr`. In addition, binary
packages are available for many different Linux distributions, MacOSX and
other Unices.  Just check the package repository for your preferred operating
system.

Installation from source
------------------------

These instructions are for both Unix/MacOS X and Windows systems. If you are
using Windows, it is assumed that you have a recent version of MS Visual C++
compiler installed.
A GCC compiler is assumed for Unix, but other compilers should work as well.

Extensions in PyTables have been developed in Cython (see
:ref:`[CYTHON] <CYTHON>`) and the C language. You can rebuild everything
from scratch if you have Cython installed, but this is not necessary, as the
Cython compiled source is included in the source distribution.

To compile PyTables you will need a recent version of Python, the HDF5 (C
flavor) library from http://hdfgroup.org, and the NumPy (see
:ref:`[NUMPY] <NUMPY>`) and Numexpr (see  :ref:`[NUMEXPR] <NUMEXPR>`)
packages.
Although you won't need numarray (see :ref:`[NUMARRAY] <NUMARRAY>`) or Numeric
(see :ref:`[NUMERIC] <NUMERIC>`) in order to compile PyTables, they are
supported; you only need a reasonably recent version of them (>= 1.5.2 for
numarray and >= 24.2 for Numeric) if you plan on using them in your
applications. If you already have numarray and/or Numeric installed, the test
driver module will detect them and will run the tests for numarray and/or
Numeric automatically.

.. warning:: The use of numarray and Numeric in PyTables is now deprecated.
   Support for these packages will be dropped in future versions.

Prerequisites
~~~~~~~~~~~~~

First, make sure that you have

* Python >= 2.4 (Python 3.x is not supported currently),
* HDF5 >= 1.6.10,
* NumPy >= 1.4.1,
* Numexpr >= 1.4.1 and
* Cython >= 0.13

installed (for testing purposes, we are using HDF5 1.6.10/1.8.5, NumPy 1.5 and Numexpr 1.4.1 currently).
If you don't, fetch and install them before proceeding.

Compile and install these packages (but see :ref:`prerequisitesBinInst` for
instructions on how to install precompiled binaries if you are not willing to
compile the prerequisites on Windows systems).

For compression (and possibly improved performance), you will need to install
{'fraction_non_alphanumeric': 0.08020698576972833, 'fraction_numerical': 0.013491036776935871, 'mean_word_length': 4.290322580645161, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 24, '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': '5613812', 'n_tokens_mistral': 1519, 'n_tokens_neox': 1436, 'n_words': 792}