Environment Setup

For development we recommend using the PyCharm Professional edition IDE, as it interprets Cython syntax. Alternatively, you could use Visual Studio Code with a Cython extension.

pyenv is the recommended tool for handling Python installations and virtual environments.

poetry is the preferred tool for handling all Python package and dev dependencies.

pre-commit is used to automatically run various checks, auto-formatters and linting tools at commit.

NautilusTrader uses increasingly more Rust , so Rust should be installed on your system as well ( installation guide ).


The following steps are for UNIX-like systems, and only need to be completed once.

  1. Follow the installation guide to setup the project with a modification to the final poetry command:

    poetry install
  2. Setup the pre-commit hook which will then run automatically at commit:

    pre-commit install


Following any changes to .pyx or .pxd files, you can re-compile by running:

poetry run python build.py


make build