Keep anaconda environment files up to date with installed packages.
In contrast to conda export
it keeps the channel list intact, sorts packages alphabetically and does not purge pip
dependencies.
conda-hooks
can be integrated easily with pre-commit hooks to automatically check for any missing packages before committing.
The conda_hooks
package is installable as a normal python package, for example via pip:
pip install conda_hooks
In your .pre-commit-config.yaml
file add
repos:
- repo: https://github.com/f-koehler/conda-hooks
rev: "0.4.2"
hooks:
- id: conda-env-store
Running env_store --help
will print information about the available command line options.
We can either specify paths to environment file explicitly
conda_env_store environment1.yml env2.yaml src/env3.yml
or use globbing patterns like this:
conda_env_store -g **/environment.yml -g **/env.yml
Of course we can combine both methods:
conda_env_store -g src/env*.yml environment.yml
When using the pre-commit
hook we can use the same command line arguments, so please refer to the section above.
An example using globbing patterns would be:
repos:
- repo: https://github.com/f-koehler/conda-hooks
rev: "0.4.1"
hooks:
- id: prettier
args: ["-g", "**/environment.yml"]