Installation

If you would like to test pyrovelocity without requiring a GPU you should be able to install it on any platform. However, if you would like to apply it to data sets larger than \(O(10^3)\) cells, you will need a GPU. In this case, we can only support amd64 Linux systems with a CUDA compatible GPU. If you are having issues scaling pyrovelocity please do not hesitate to reach out to us.

The latest release of pyrovelocity is available on PyPI and conda-forge. The instructions below are intended for users. To setup a development environment, please see Contributing. Users who are having difficulty with system-level dependencies may also benefit from consulting the contributing documentation.

If you have any issue with errors being raised during installation or usage please check carefully that the version your package manager has installed is equivalent to or newer than the one listed in the poetry.lock file in the repository. We aim to support all latest stable versions of third-party dependencies by lifting lower bounds on version constraints in the pyproject.toml file. This means that we generally do not support any older versions of dependencies but consider any version more recent than the lower bound to be supported or a bug in pyrovelocity if attempting to use it produces an error. Sometimes we are forced to delay support for a new version of a dependency if it has been released released to PyPI but not yet to conda-forge.

We recommend creating a dedicated virtual environment to install and execute pyrovelocity. One of the easiest ways to do this is with uv. After following the Getting Started instructions from the uv repository to install the uv CLI for your platform, you can install a supported python version, create a virtual environment, and install pyrovelocity from a blank directory with the following commands

echo "3.11" > .python-version
uv python install
uv venv -p 3.11
source .venv/bin/activate
uv pip install pyrovelocity

Of course, if you have already prepared and activated a virtual environment with a supported python version you can also install pyrovelocity directly from PyPI with pip.

pip install pyrovelocity

If you would like to install pyrovelocity from conda-forge we strongly recommend using pixi or micromamba. Installation with the conda command will take an unreasonable amount of time and is not recommended.

pixi will not automatically respect the user limit parameters you can review via ulimit -a. In particular ulimit -n should be set to 10000 or greater

ulimit -n 10000

After following the instructions to install pixi, you can install pyrovelocity with the following commands

pixi init
pixi install pyrovelocity

You can then run pixi shell to enter a shell with the environment containing pyrovelocity.

After following the instructions to install micromamba, you can create a virtual environment, activate it, and install pyrovelocity with the following commands

alias mm=micromamba
mm create -n pyrovelocity python=3.11
mm activate pyrovelocity
mm install -c conda-forge pyrovelocity

After the installation has completed successfully you may like to see