Skip to content

Installation

Requirements

The simulator is extensively tested on Ubuntu 24.04. However, other platforms should also work out of the box with the PyPI install. Further, you need an environment with:

  • Python >= 3.11, < 3.14
  • MuJoCo (follow the mujoco installation instructions for your platform)
  • (Optional) pixi >= 0.6.1 (required for the provided developer environment)

Quick install (PyPI)

Recommended for users who only want to use Crazyflow:

pip install crazyflow

Use pixi to create a reproducible development environment that also installs submodules in editable mode. This requires some 64 bit linux distribution to work.

  1. Clone the repo (with submodules)

    git clone --recurse-submodules git@github.com:utiasDSL/crazyflow.git
    cd crazyflow
    

  2. Enter the pixi shell (pixi >= 0.6.1 required)

    pixi shell
    

Inside the pixi shell you will have crazyflow, drone-models and drone-controllers installed in editable mode.

Install from source (manual / without pixi)

If you prefer not to use pixi, install the packages manually in editable mode:

pip install -e .  # Install crazyflow
pip install -e ./submodules/drone-models
pip install -e ./submodules/drone-controllers

Optional extras (GPU / benchmarking)

  • GPU (JAX with CUDA): three ways to enable the gpu extras
  • Start the pixi gpu environment:
    pixi shell -e gpu
    
  • Install local editable package with gpu extras:
    pip install -e ".[gpu]"
    
  • Install from PyPI with gpu extras:

    pip install "crazyflow[gpu]"
    

  • Benchmarking / plotting:

  • Use the dedicated pixi benchmarking environment:
    pixi shell -e benchmark
    
  • Or install the benchmark extras locally:
    pip install -e ".[benchmark]"
    
  • Or install from PyPI with extras:
    pip install "crazyflow[benchmark]"
    

Verify installation

A quick smoke test — run one of the examples (offscreen or with rendering enabled depending on your platform):

python examples/cameras.py

Run the test suite (recommended via pixi):

pixi run tests
Or activate the test environment and run pytest directly:
pixi shell -e tests
pytest -v tests

See the Examples page for more runnable scripts.

Building and serving the docs locally

Recommended: use pixi to run the configured docs tasks:

pixi run docs-build  # build the static site
pixi run docs-serve  # serve with live reload