Skip to content

Setting Up

Setting Up your Development Environment

This instructions are for MacOS, while they should roughly be the same for Windows and Linux, they are untested in those environments:

1. Package Manager

Homebrew is a popular package manager for MacOS. It can be installed as follows:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Chocolatey is a popular package manager for Windows. To install, run the following from a priviledged powershell prompt:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

2. PYENV

Installation

pyenv allows you to run and manage multiple versions of Python, all in isolations from your system's Python. If this is your first time using pyenv you can learn more about isuing it in this blog post

brew install pyenv

Append pyenv init to bash's profile

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

And restart your SHELL

exec "$SHELL"

List versions of Python available to install

pyenv install --list

Install most recent stable version

A stable version means there is no -dev of -rc after the name. For instance run

pyenv install 3.7.4

Activate global environment

pyenv global 3.7.4

Listing available versions to the system

pyenv versions

Configuring a local environment

When you are in a folder, you can configure the version of the Python that is activated when you are calling Python within that folder by calling for instance pyenv local 3.8.0 within your directory.

This will create a hidden file .python-version in the current directory.

3. PIPX

PIPX allows you to install Python (and Ruby) CLI utilities in their own environment, without contaminating your global environment

Installation

python -m pip install pipx

5. uv

uv is a fast and user-friendly Python package manager and dependency resolver. It also simplifies creating and managing virtual environments.

Installation

We recommend installing uv using pipx to keep it isolated:

pipx install uv

Unlike Poetry, uv does not automatically manage virtual environments. You must create and activate one manually:

uv venv 
source .venv/bin/activate 

You should see your shell prompt change to reflect that the virtual environment is active.

Installing Dependencies

With your environment active, install your project’s dependencies:

uv pip install -e '.[dev, docs]'