Project creation#
Recognized project inputs#
Conda Code checks exact filenames at the registered Python project root.
Filename |
Provider |
Result |
Additional creation packages |
|---|---|---|---|
|
conda, CEP 24 |
Regular named environment |
Allowed |
|
conda, CEP 24 |
Regular named environment |
Allowed |
|
conda, CEP 23 |
Exact named environment |
Refused |
|
Exact named environment |
Refused |
|
|
Exact named environment |
Refused |
Conda Code lists the conda-lock filenames whenever they are present. Creation requires conda-lockfiles 0.2 or newer for the configured conda executable.
Conda Code does not automatically treat requirements.txt, spec.txt, or
pixi.lock as project creation inputs. requirements.txt normally describes
pip packages in Python projects. Pixi projects stay with Pixi Code when it is
installed, or with conda-workspaces otherwise.
Precedence#
Creation follows this order:
An existing discovered conda workspace offers its uninstalled environment declarations.
Quick Create uses the only recognized project input.
Without an input, Quick Create creates a
conda.tomlworkspace when permitted.Global and multi-project creation creates a named environment.
When several recognized project inputs exist, Quick Create fails. Interactive creation lists every recognized input and lets the user choose.
Interactive project creation also offers:
a new conda workspace when permitted
a regular prefix at
<project>/.condaa regular named environment
The project .conda prefix is never selected by Quick Create.
Naming#
Quick Create derives a named environment from the project directory name. It
replaces unsupported characters with hyphens and adds -1, -2, and later
suffixes until the name is available.
Interactive creation asks for a name. Names must start with a letter or number
and may contain letters, numbers, dots, underscores, and hyphens. base,
root, and existing named environments are refused.
For project input files, Conda Code runs:
conda create --yes --json --name NAME --file FILE
The working directory is the project root. --name overrides a name or
prefix declared by a CEP 24 file.
Exact inputs#
For explicit.txt, conda-lock.yml, and conda-lock.yaml, Conda Code also
passes --no-default-packages. This prevents conda’s configured
create_default_packages from changing the exact result.
Additional packages supplied by the creation flow are refused for exact inputs.
File lifecycle#
Project input files are used only during creation. Conda Code does not watch, rewrite, export, or synchronize them. The created environment is subsequently discovered and managed as a regular named conda environment.