conda-flow
Conda flow is a lightweight library that uses both conda and conda-lock to create, curate, and activate locked conda environments.
Why?
Managing changes to environment files can be challenging, especially when trying to coordinate with locked environment details. The lock pattern provides a simple workflow in which:
- base (or unspecified) env files are edited by developers
- locked (or fully specified) env files are produced by conda-lock when running conda-flow
The above workflow has the advantages:
- Env changes are version-controlled
- No lock files are edited directly
In addition to the locking workflow (which is little more than a wrapper around conda-lock and some file management), conda-flow also provides an activation workflow. When running the conda-flow activate workflow, the following will occur:
- Search for a lock file matching the desired env name (according to config / file structure)
- Check if an env exists with that name:
- If yes, then compare checksums of envs to ensure up-to-date with lock file (removing if not)
- If no, create env from lock file
- Activate desired env
- Run additional configuration scripts as specified in config
Installation
Available on PyPI:
pip install conda-flow
Usage
Create a directory in your repo for managing base and locked env files (default is <project_root>/.envs). This
directory will be configurable (more docs on config options coming)
Create a base env file, with an OS specified according to the filename template (also configurable), for example
<project_root>/.envs/base-linux-64.yml with a minimal set of packages and specifications for your project. To generate
the locked env <project_root>/.envs/locks/base-linux-64.lock (again name / location configurable), run:
conda-flow lock -c /path/to/config -n base -p linux-64
To activate the locked environment, run:
conda-flow activate -c /path/to/config -n base
This will:
- find the proper lock file for the current OS according to the config
- check to make sure any existing defined environments with matching names have matching specifications (checksums)
- activate the environment
- run any additional configuration scripts specified
Metadata
Release files for conda-flow 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| conda-flow-0.3.3.tar.gz | 19.2 kB | Without provenance | Details for conda-flow-0.3.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| conda_flow-0.3.3-py3-none-any.whl | Python 3 | none | any | Details for conda_flow-0.3.3-py3-none-any.whl |
Total release size: 33.3 kB
Release files / conda-flow-0.3.3.tar.gz
| Download URL | conda-flow-0.3.3.tar.gz |
|---|---|
| Size | 19.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6ead41fa88fb299440c09ce1e847b0f0c246f7c8377ab3553e2a1435d4626d86
|
|
BLAKE2b-256 checksum How to use checksums |
988ee70b931c1840fb93c5e55ffd65ecb966523c229a0c705107aefc7efb0ccd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11
|
Release files / conda_flow-0.3.3-py3-none-any.whl
| Download URL | conda_flow-0.3.3-py3-none-any.whl |
|---|---|
| Size | 14.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d33b96689397506f64539334bc959d7eb93fc69929e4eaabbc150e637c244a68
|
|
BLAKE2b-256 checksum How to use checksums |
937a352ee4d4d47015cce0f75d4a546e107be6e7166fa780445dd43f4e9b4cc1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11
|
Security for conda-flow 0.3.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.