Ecosystem fit#
Conda Code connects Visual Studio Code to conda itself and to a small set of related tools that affect environment discovery, package records, or task execution.
conda-workspaces#
conda-workspaces defines workspace manifests, declared environments, features, tasks, and workspace commands. Conda Code provides VS Code integration for installed workspace environments and declared tasks.
It uses conda workspace for environment discovery and changes, and
conda task for tasks. Regular conda support does not require a workspace
manifest.
Conda Code publishes tasks from the workspace manifest selected for a
registered Python project. It uses conda task list for discovery and
conda task run for execution. conda-workspaces remains responsible for the
task graph, platform behavior, variables, and caching. Conda Code passes the
selected Conda Code workspace environment when it belongs to the same
manifest. It does not parse or edit task definitions.
conda-pypi#
conda-pypi gives installed PyPI packages conda records. Conda Code lists those records like other conda packages while omitting raw pip-only distributions.
For workspace [pypi-dependencies], conda-workspaces and conda-pypi solve and
record those dependencies. Package changes started in Conda Code apply to the
workspace manifest. New dependencies are added as conda dependencies. An
existing direct PyPI dependency can be removed when its installed name still
matches the declaration name, but it cannot be updated.
conda-lockfiles#
conda-lockfiles registers
additional exact environment formats with conda. When it is installed, Conda
Code can pass project-root conda-lock.yml and conda-lock.yaml files to
conda create.
The conda-lockfiles plugin also supports pixi.lock. Conda Code does not offer
that file as a standalone environment input. Pixi workspaces stay with Pixi Code
when it is installed, or with conda-workspaces otherwise.
Conda Code does not parse or synchronize those files. It delegates the format
to conda and manages the result as a regular named environment.
conda-sboms#
conda-sboms adds CycloneDX
JSON to conda export. Conda Code supplies the selected environment prefix and
destination, then delegates generation and serialization to conda-sboms 0.3.0
or newer. Regular environments use their owning conda installation and
workspace environments use the configured primary installation.
conda-express#
conda-express supplies cx and cxz
delegates that bootstrap and run conda. Conda Code accepts them from the
conda-code.condaExecutable setting, CONDA_EXE, or python.condaPath. It
does not search PATH for or install them, and their normal bootstrap behavior
remains in effect.
conda-global#
conda-global creates isolated tool environments and exposes their commands through PATH trampolines. Those prefixes are implementation details of globally installed tools, not project environment choices.
Conda Code skips the active tool root:
$CONDA_GLOBAL_HOME/envswhen configured~/.conda/global/envsfor the current layout~/.cg/envsfor an existing legacy installation
conda-exec#
conda-exec creates hash-keyed environments for running tools and scripts without changing a project environment. Those prefixes are disposable execution caches, not environment choices.
Conda Code excludes the active conda-exec cache from regular discovery,
explicit resolution, and workspace routing. It does not select, activate,
modify, or delete those prefixes. Changing a cached prefix would make its
contents disagree with the specifications, channels, or lock content encoded
by its cache key. conda-exec also owns cache refresh and automatic cleanup. The
active cache is $CONDA_EXEC_HOME/envs when configured and conda-exec’s
platform default otherwise.
Run tools and scripts through conda exec. Inspect and remove cached prefixes
with conda exec --list and conda exec --clean.
Pixi Code#
Pixi Code is the Python Environments provider for Pixi workspaces. It is closer to Conda Code than a Python-only environment manager because Pixi also manages conda packages and workspace environments.
The extensions can be installed together. When Pixi Code is present, Conda
Code leaves pixi.toml, [tool.pixi], and .pixi/envs to Pixi Code while
continuing to handle regular conda environments and conda.toml workspaces.
That rule also applies to task discovery. When Pixi Code is installed, Conda
Code does not publish tasks from pixi.toml or a pyproject.toml workspace with
a [tool.pixi] table.
Python Environments#
Python Environments supplies the common VS Code view and extension API. Conda Code supplies conda-specific behavior through that API. The built-in conda manager remains separate because the current API supports registration, not replacement.