- conda-recipe-manager
- Overview
- Getting Started
- Developer Notes - Running pre-commit checks
- Special Thanks
Conda Recipe Manager (CRM) is a library and tool set capable of parsing Conda recipe files. It is intended to be used by package builders and developers to automate the generation and editing of Conda recipe files.
Currently only recipe files in the V0 format are supported, but there is some on-going work to add full support for V1-formatted files.
Library documentation can be found here.
This project started out as a recipe parsing library in Anaconda's percy project.
make install
make environment
conda activate conda-recipe-manager
make dev
conda activate conda-recipe-manager
The dev
recipe will configure a conda
environment named conda-recipe-manager
with
development tools installed.
pre-commit
is automatically installed and configured for you to run a number
of automated checks on each commit.
NOTE: As of writing, only a handful of files are checked by the linter and
pre-commit
. ANY NEW FILES should be added to these checks.
The provided Makefile
also provides a handful of convenience recipes for
running all or part of the pre-commit
automations:
make test
: Runs all the unit testsmake test-cov
: Reports the current test coverage percentage and indicates which lines are currently untested.make lint
: Runs ourpylint
configuration, based on Google's Python standards.make format
: Automatically formats codemake analyze
: Runs the static analyzer,mypy
.make pre-commit
: Runs all thepre-commit
checks
- Update
CHANGELOG.md
- Update the version number in
pyproject.toml
- Ensure
environment.yaml
is up to date with the latest dependencies - Create a new release on GitHub with a version tag.
- Manage the conda-forge feedstock, as per this doc
- @cbouss for his work on the Percy project that originally inspired the recipe parser.
- @akabanovs for his work and experimentation on package dependency graph building.
- @JeanChristopheMorinPerso for his PR review contributions when this project was a part of
Percy
and answering questions about theconda
file formats.