https://github.com/tdegeus/conda_envfile
Parse conda environment yaml files
https://github.com/tdegeus/conda_envfile
conda conda-environment formatter parser pre-commit
Last synced: 12 months ago
JSON representation
Parse conda environment yaml files
- Host: GitHub
- URL: https://github.com/tdegeus/conda_envfile
- Owner: tdegeus
- License: mit
- Created: 2022-10-04T08:12:02.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-23T16:45:26.000Z (over 2 years ago)
- Last Synced: 2025-05-22T16:02:40.519Z (about 1 year ago)
- Topics: conda, conda-environment, formatter, parser, pre-commit
- Language: Python
- Homepage: https://conda_envfile.readthedocs.io
- Size: 82 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/tdegeus/conda_envfile/actions)
[](https://conda_envfile.readthedocs.io/en/latest/?badge=latest)
[](https://github.com/tdegeus/conda_envfile/actions)
[](https://github.com/pre-commit/pre-commit)
[](https://anaconda.org/conda-forge/conda_envfile)
**Documentation: [https://conda_envfile.readthedocs.io](conda_envfile.readthedocs.io)**
# conda_envfile
Provides a Python library, command line tools, and pre-commit tools to manage conda environment files.
## Command line
### conda_envfile_merge
Merge different environment files.
For example:
```bash
conda_envfile_merge -a "extra-library" env1.yml env2.yml > env3.yml
```
merges `env1.yml` and `env2.yml` and adds the package `extra-library` to the merged environment file `env3.yml`.
### conda_envfile_diff
Show the difference between two environment files.
For example:
```bash
conda_envfile_diff env1.yml env2.yml
```
## pre-commit
### conda_envfile_parse
Keep your `environment.yaml` file unique, sorted, and legal in terms of version limitations.
In your `.pre-commit-config.yaml`, add:
```yaml
- repo: https://github.com/tdegeus/conda_envfile
rev: v0.5.0
hooks:
- id: conda_envfile_parse
files: "environment.yaml"
```
### conda_envfile_pyproject
Keep your `pyproject.toml` and `environment.yaml` in sync.
In your `.pre-commit-config.yaml`, add:
```yaml
- repo: https://github.com/tdegeus/conda_envfile
rev: v0.5.0
hooks:
- id: conda_envfile_pyproject
files: "environment.yaml"
```
## Python
Combine different version restrictions. For example:
```python
import conda_envfile
list(map(str, conda_envfile.unique("foo >1.2.0", "foo =1.2.*")))
```
which returns
```python
["foo >1.2.0, <1.3.0"]
```