If you just want to check out pyLife's demos, you can use the our notebooks at mybinder. We will add new notebooks as soon as we have new functionality.
You need a python installation e.g. a virtual environment with pip a recent
(brand new ones might not work) python versions installed. There are several
ways to achieve that.
Although you can install and use pyLife with Python version >= 3.9 and pandas version >= 2.2, it is strongly recommended to use at least Python 3.11 and pandas 3.0.0.
Install miniconda or anaconda on your computer and create a virtual environment with python installed. See the conda documentation on how to do that. The newly created environment must be activated.
The following command lines should do it
conda create -n pylife-env python=3.13 --yes
conda activate pylife-env
Setup a python virtual environment containing pip according to these instructions and activate it.
That's not recommended. If you really want to do that, you probably know how to do it.
The simplest way to install pyLife is just using the pip package
pip install pylife[all]
That installs pyLife with all the dependencies to use pyLife in python
programs. You might want to install some further packages like jupyter in
order to work with jupyter notebooks.
pip install pylife[all,extras]
might be a good start.
For general contribution guidelines please read CONTRIBUTING.md
As pyLife now is using Cython extensions for performance reasons. Therefore you
will need a C-compiler available on your system. On Linux systems, there
usually is a gcc compiler available. On Windows you will need a current
version of Microsoft Visual C++.
- Install the uv python management tool.
Depending on your tools. From the command line
git clone https://github.com/boschresearch/pylife.git
will do it.
Install pylife and all the dependencies into the environment using
uv sync --dev --all-extras
You can run the test suite by the command
uv run pytest
If it creates an output ending like below, the installation was successful.
================ 1171 passed, 7 skipped, 6 deselected, 3 warnings in 23.06s ===============
There might be some DeprecationWarnings. Ignore them for now.