Skip to main content

conda-workspaces

Tests Docs PyPI conda-forge Codecov License Python

Multi-environment workspaces and task runner for conda, with pixi manifest compatibility.

Define environments and tasks in your workspace manifest, compose environments from reusable features, and let conda handle the solving and installation. Existing pixi manifests are supported.

Quick start

quickstart demo

Create a workspace manifest named conda.toml. Its directory is the workspace root:

[workspace]
name = "my-project"
channels = ["conda-forge"]
platforms = ["linux-64", "osx-arm64", "win-64"]

[dependencies]
python = ">=3.10"
numpy = ">=1.24"

[feature.test.dependencies]
pytest = ">=8.0"
pytest-cov = ">=4.0"
ruff = ">=0.9"

[environments]
test = { features = ["test"] }

[tasks]
test = { cmd = "pytest tests/ -v", description = "Run the test suite" }
lint = "ruff check ."

[tasks.check]
depends-on = ["test", "lint"]

Install and manage your environments, then run tasks:

$ conda workspace install              # solve + install + generate conda.lock
$ conda workspace envs                 # list defined environments
$ conda task run -e test check         # runs lint and test in the test environment
$ conda workspace shell -e test        # spawn a shell with test env activated
$ conda workspace install --locked     # reproducible install from conda.lock

Why?

Conda handles environments and packages. pixi combines multi-environment workspaces and a task runner with its own solver and environment management.

conda-workspaces reads pixi-compatible manifests and delegates solving and installation to conda's own infrastructure. You get workspace management and task running inside the conda CLI without switching tools.

What it does

  • Reads conda.toml, pixi.toml, and pyproject.toml workspace manifests
  • Multi-environment support with composable features
  • Workspace environments in .conda/envs/
  • Lockfile generation (conda.lock) using a rattler-lock-derived schema for reproducible installs
  • Workspace archives with optional receipt verification for portable handoff
  • Runnable container images from locked Linux environments and project files
  • Per-platform dependency overrides via [target.<platform>]
  • PyPI dependencies translated and resolved alongside conda packages via conda-pypi
  • Activation scripts and environment variables per feature
  • System requirements as virtual package constraints
  • Per-workspace channel priority override
  • Task dependencies with topological ordering (depends-on)
  • Jinja2 templates in commands ({{ conda.platform }}, conditionals)
  • Task arguments with defaults, input/output caching, and per-platform overrides
  • conda workspace / conda task subcommands (also available as cw / ct aliases)

Installation

conda install -n base conda-forge::conda-workspaces

CLI

conda-workspaces registers conda workspace and conda task subcommands, and also provides cw and ct as shorter aliases.

Workspace commands

Command Description
conda workspace init Initialize a new workspace manifest
conda workspace install Create/update workspace environments
conda workspace install --locked Install from lockfile (skip solving)
conda workspace lock Generate/update conda.lock
conda workspace list List packages in an environment
conda workspace envs List defined environments
conda workspace info Show workspace or environment details
conda workspace add SPECS... Add dependencies
conda workspace update SPECS... Update selected conda roots while preserving constraints
conda workspace remove SPECS... Remove dependencies
conda workspace export Export environments and manifests through conda exporters
conda workspace sbom Export a CycloneDX SBOM through the optional conda-sboms plugin
conda workspace import FILE Convert a supported manifest into a new conda.toml
conda workspace import -e ENV environment.yml Add a named environment to an existing workspace
conda workspace quickstart SPECS... Bootstrap a workspace, install it, and optionally open a shell
conda workspace shell -e ENV Spawn a shell with an environment activated
conda workspace activate -e ENV Print activation instructions
conda workspace clean Remove installed environments
conda workspace archive Create a portable workspace archive
conda workspace unarchive Extract and optionally verify a workspace archive
conda workspace image Build a runnable container image from a locked Linux environment

Task commands

Command Description
conda task run TASK Run a task (with dependency resolution)
conda task list List available tasks
conda task add NAME CMD Add a task to the manifest
conda task remove NAME Remove a task from the manifest
conda task export Export tasks to conda.toml format

What it doesn't do

conda-workspaces is a workspace manager and task runner, not a package manager replacement. It does not bundle its own solver or bypass conda's installation machinery. If you want a fully integrated tool that handles everything including its own solver, see pixi.

Documentation

Demos

See demos/README.md for animated terminal recordings of workspace and task features.

Development

pixi install
pixi run -e test test
pixi run -e dev check

Acknowledgements

The workspace and task system in conda-workspaces is directly inspired by the work of the prefix.dev team on pixi. Their design of workspace manifests, features, environments, platform targeting, task dependencies, caching, and template variables provided the blueprint for this plugin.

License

BSD 3-Clause. See LICENSE.

Metadata

Release files for conda-workspaces 0.11.0

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-workspaces 0.11.0
File Size Uploaded Provenance Actions
conda_workspaces-0.11.0.tar.gz 47.7 MB With provenance Details for conda_workspaces-0.11.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for conda-workspaces 0.11.0
File Interpreter ABI Platform Actions
conda_workspaces-0.11.0-py3-none-any.whl Python 3 none any Details for conda_workspaces-0.11.0-py3-none-any.whl

Total release size: 47.9 MB

Release files / conda_workspaces-0.11.0.tar.gz

Download URL conda_workspaces-0.11.0.tar.gz
Size 47.7 MB
Tags Source
SHA-256 checksum
How to use checksums
334594981bee5bb2826cf8e124bf0a9199ac6b3548122057b5b9e2b257ae62e3
BLAKE2b-256 checksum
How to use checksums
0a8ea633a039af7e0af1393cf6d7b951073fc9efcc4c3dba46ad76a6e2afc21f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / conda_workspaces-0.11.0-py3-none-any.whl

Download URL conda_workspaces-0.11.0-py3-none-any.whl
Size 230.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e230435fd72f8387ee709c6f2336124b21b629c4bc01960f31f1e4b6d6d74cb
BLAKE2b-256 checksum
How to use checksums
49a9c2a7edbd4c81b81cd55f4513c3fde6b017bb6d2d3945141b1c6cdf1c74bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Security for conda-workspaces 0.11.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for conda_workspaces-0.11.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

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