Skip to main content

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:

  1. base (or unspecified) env files are edited by developers
  2. 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:

  1. Search for a lock file matching the desired env name (according to config / file structure)
  2. Check if an env exists with that name:
    1. If yes, then compare checksums of envs to ensure up-to-date with lock file (removing if not)
    2. If no, create env from lock file
  3. Activate desired env
  4. 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)

Source distribution for conda-flow 0.3.3
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)

Table of built distributions (wheels) for conda-flow 0.3.3
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page