Cookiecutter for setting up pixi projects with all the necessary features for modern python development.
- Packaging with pixi
- Environment loading with direnv
- Formatting and linting with ruff
- Static typing with mypy
- Testing with pytest
- Git hooks that run all the above with pre-commit
- Continuous integration with GitHub Actions
- Code coverage with Codecov
While all of the steps are automated, you will need to first install pixi
, cookiecutter
, and direnv
, and optionally install the GitHub-CLI.
curl -fsSL https://pixi.sh/install.sh | bash
pixi global install cookiecutter direnv
# Optional
curl -sS https://webi.sh/gh | sh
See notes.md for optional dependencies and alternative installation methods.
# Use cookiecutter to create a project from this template
cookiecutter gh:jevandezande/pixi-cookiecutter
The cookiecutter will automagically
- Generate a project with the input configuration
- Initialize git
- Setup environment
- Setup pre-commit and pre-push hooks
- Make initial commit
- Sets up remote on GitHub (optional)
- Make a custom config file (see template_config.yml).
- Install act to run GitHub Actions locally.
- Install direnv to automagically load the environment.
Read notes for more tips.
If you are interested in using Poetry to manage your project, checkout poetry-cookiecutter, which served as a template for this cookiecutter.