Development

Initial setup

Fork the repository on Github, then clone the fork:

git clone git@github.com:YourGithubUserName/bartz.git
cd bartz

Install uv. My favorite installation route on macOS would be to install brew and then brew install uv.

Then install micromamba; for example with Homebrew:

brew install micromamba
micromamba shell init

Finally, run

make setup

This creates a micromamba virtual environment in ./.venv, which is then managed by uv. To run commands that involve the python installation, do uv run --no-sync <command>. For example, to start an IPython shell, do uv run --no-sync ipython.

Pre-defined commands

Development commands are defined in a makefile. Run make without arguments to list the targets.

Benchmarks

The benchmarks are managed with asv. Basic workflow:

uv run asv run
uv run asv publish
uv run asv preview

asv run writes the results into files saved in ./benchmarks. These files are tracked by git; consider deliberately not committing all results generated while developing.