Installation

The iteration_utilities package is a C extension python package supporting the Python versions:

  • Python 3.7+

Using pip

and can be installed with pip [0]:

python -m pip install iteration_utilities

or to install the development version:

python -m pip install git+https://github.com/MSeifert04/iteration_utilities.git@master

Using conda

It can by installed with conda [2] from the conda-forge channel:

conda install -c conda-forge iteration_utilities

Manual installation

To manually install the package you need to download the development version from git [1] and install it:

git clone https://github.com/MSeifert04/iteration_utilities.git
cd iteration_utilities
python -m pip install .

with the clone from git one can also run the tests after the installation:

python -m pytest tests/

Or build the documentation:

sphinx-build -b html -W -a -n docs/ build/sphinx/html/  # local documentation build

Testing debug installation

The best way to test against a debug build is to use a Python installation that has been compiled in debug mode. One could use such a Dockerfile.

FROM gcc:latest

RUN \
    wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz -q && \
    tar xzf Python-3.8.0.tgz && \
    cd Python-3.8.0 && \
    ./configure --with-pydebug && \
    make altinstall -s -j4 && \
    cd .. && \
    python3.8 -c "import os; os.remove('./Python-3.8.0.tgz'); import shutil; shutil.rmtree('./Python-3.8.0/')" && \
    python3.8 -m pip install pip --upgrade --user && \
    python3.8 -m pip install setuptools wheel --upgrade --user && \
    python3.8 -m pip install pytest --user

This uses Python 3.8.0, you can obviously sdapt this for the actual Python version you want to build.

Building the image, the library, and the tests.

docker build -t pythondebug .
docker run -it --rm -v INSERTDIRECTORYHERE:/io pythondebug
python3.8 -m pip install /io
python3.8 -m pytest /io/tests -s -v

Dependencies

Installation:

  • Python 3.7+

  • setuptools

  • C compiler

Developer Dependencies

All dependencies can be installed using:

python -m pip install iteration_utilities[all]

Or individual dependencies:

python -m pip install iteration_utilities[test]
python -m pip install iteration_utilities[documentation]

Tests:

  • pytest

Documentation:

  • sphinx

  • numpydoc

References