This page has instructions on installing OPS, installing software packages that integrate with OPS, and testing that your OPS installation is working.

OpenPathSampling currently only works on POSIX systems (macOS and UNIX/Linux). It is tested against Python 2.7, 3.7, 3.8, and 3.9.

Installing OpenPathSampling

Installation with pip or setuptools

OPS can also be installed with pip via the command python -m pip install openpathsampling, or the source can be downloaded and installed using setuptools and the command python install (run from the root directory of the source repository). We only recommend these installation mechanisms for users who are familiar with these tools.

Developer install

OpenPathSampling can be installed as an “editable” (developer) install through standard mechanisms (python -m pip install -e . or python develop).

Additionally, we provide a script that downloads the OPS source repository, uses conda to install OPS’s requirements (including several optional integrations) and the installs OPS. Details on using this script are in Quick bugfix/developer installation.

Integration with other packages

When you install OpenPathSampling, you only get the core of OPS and the internal toy dynamics engine. In practice, you’ll probably want a more powerful MD engine like OpenMM or GROMACS.

To add support for optional packages, all you need to do is install them. For example, simply by having OpenMM or GROMACS installed on your system, you will automatically have support for those engines within OPS.

The tables below list several packages that provide OPS with extra functionality when installed, and include links to their conda packages.

Molecular dynamics engines


OPS has special support for integrators from OpenMMTools (and we strongly recommend using one of the reversible integrators provided there, such as VVVR).


OPS will work with any installed GROMACS; it does not need to come from conda.

Collective variables

In addition to the optional packages listed below, OPS ships with MDTraj built-in.


Testing your installation

OpenPathSampling includes a thorough test suite, and running the test suite is a good start to troubleshooting any installation problems. The OPS test suite requires the packages pytest and (for legacy reasons) nose. These can be installed with either conda or pip. For example:

$ conda install pytest nose

Once those are installed, you can run the test suite on your installation with the command:

$ py.test --pyargs openpathsampling.tests

The test suite includes over 1100 individual tests, and runs in around 2-3 minutes. All tests should either pass or skip.