Skip to main content

Environment setup

In this tutorial, we will go through numerous steps to help you set up a productive development environment that will allow you to contribute to Virdx codebases.

Install and set up pixi

Pixi is QuantCo's and our preferred way of managing dependencies for Python projects.

Follow installation instructions at pixi.sh. Read through their getting started pages to get an overview over the intricacies of the tool.

Next, make sure you have access to the virdx-internal conda channel by following the guide

Make sure that you add our virdx-channel to your global pixi config:

nano ~/.pixi/config.toml

and paste the following in there:

default-channels = [
"https://quantco.jfrog.io/artifactory/api/conda/virdx",
"conda-forge",
]

This will allow you to install virdx packages globally.

PYPI vs conda-forge dependencies

Try to use conda-forge dependencies as much as possible. This ensures that your project can be packaged and deployed as a dependency for other projects in the virdx ecosystem.

If you must use a pypi dependency, let @Taylor Hanayik know. We can probably find an alternative, or create a custom conda package from the pypi package (but this is not ideal long term).

Other tooling

Using pixi's global dependency manager, we can install numerous other useful tools:

  • pre-commit: pixi global install pre-commit
  • lazygit: a TUI git application
  • bat: a neater cat
  • fzf: fuzzy CTRL+R finder

Other tools:

  • thefuck: corrects typos in CLI commands (install with uv tool install --python 3.11 --with setuptools thefuck)