Skip to main content

Benchmark your code

Project description

The Downward Lab Python package facilitates running experiments for the Fast Downward planning system. It uses the generic experimentation package Lab.

Lab is a Python package for running code on a large set of benchmarks. Experiments can be conducted on a single machine or on a cluster. The package also contains code for parsing results and creating reports. Currently, Lab comes bundled with Downward Lab.



Cite: please cite Downward Lab by using

  author =       "Jendrik Seipp and Florian Pommerening and
                  Silvan Sievers and Malte Helmert",
  title =        "{Downward} {Lab}",
  year =         "2017",
  doi =          "10.5281/zenodo.790461",
  url =          "",
  howpublished = "\url{}"

Install Lab in a virtual environment

We recommend installing Lab in a Python virtual environment. This has the advantage that there are no modifications to the system-wide configuration, and that you can create multiple environments with different Lab versions (e.g., for different papers) without conflicts. Using Python 3, you would proceed like this:

# Install required packages, including virtualenv.
sudo apt install mercurial python3 python3-venv

# Create and activate a Python 3 virtual environment for Lab.
python3 -m venv lab-venv  # or any other path instead of lab-venv
source lab-venv/bin/activate

# Install Lab in the virtual environment.
pip install lab  # or a specific version with lab==x.y

If you want to install the latest development version and/or need to change Lab itself, you can clone the Lab repo and install it in the virtual environment:

hg clone /path/to/lab
pip install --editable /path/to/lab

The --editable flag in the last command is optional. It installs the project in “editable mode”, which is needed if you want to change the Lab source code, since any changes under /path/to/lab are immediately reflected in the installed package.

Please note that before running an experiment script you need to activate the virtual environment with:

source lab-venv/bin/activate

Install Lab globally

Alternatively, you can install Lab and its dependencies globally:

# Install dependencies.
sudo apt install mercurial python python-matplotlib python-simplejson
# Clone Lab repository.
hg clone /path/to/lab

Add to your .bashrc to make Lab available on the PYTHONPATH:

export PYTHONPATH=/path/to/lab

Update shell configuration:

source ~/.bashrc

Notes about requirements

  • Lab needs Python 2.7 or Python >= 3.5.
  • matplotlib is only needed for reports that generate graphs.
  • simplejson is optional, but speeds up generating reports.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for lab, version 4.2
Filename, size File type Python version Upload date Hashes
Filename, size lab-4.2-py2.py3-none-any.whl (160.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size lab-4.2.tar.gz (124.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page