METAFLOW_.
Storage Configuration
Configure where Conda v2 stores cached packages and environments.CONDA_S3ROOT
Type: String (S3 URL)Default:
${DATASTORE_SYSROOT_S3}/conda_env
S3 directory containing all cached packages, environments, and conda distributions.
CONDA_AZUREROOT
Type: String (Azure Blob URL)Default:
${DATASTORE_SYSROOT_AZURE}/conda_env
Azure Blob Storage directory for cached environments.
Azure Setup Required:
- Manually create the blob container
- Grant
Storage Blob Data Contributorrole to service principal or user accounts
CONDA_GSROOT
Type: String (GCS URL)Default:
${DATASTORE_SYSROOT_GS}/conda_env
Google Cloud Storage directory for cached environments.
CONDA_LOCALROOT
Type: String (file path)Default:
${DATASTORE_SYSROOT_LOCAL}/conda_env
Local filesystem directory for cached environments (when using local datastore).
CONDA_PACKAGES_DIRNAME
Type: StringDefault:
"packages"
Directory within CONDA_*ROOT for cached packages.
CONDA_ENVS_DIRNAME
Type: StringDefault:
"envs"
Directory within CONDA_*ROOT for cached environments.
Resolver Configuration
Configure which tools are used to resolve dependencies.CONDA_DEPENDENCY_RESOLVER
Type: StringDefault:
"mamba"Choices:
mamba, conda, micromamba
Tool to use for resolving Conda packages.
- mamba
- micromamba
- conda
Recommended: Fastest and most reliable resolver for Conda packages.
CONDA_PYPI_DEPENDENCY_RESOLVER
Type: StringDefault:
"uv"Choices:
pip, uv, none
Tool to use for resolving pure PyPI environments.
Set to
"none" to disable pure PyPI environment support.CONDA_MIXED_DEPENDENCY_RESOLVER
Type: StringDefault:
"conda-lock"Choices:
conda-lock, none
Tool to use for resolving mixed Conda+PyPI environments.
Set to
"none" to disable mixed environment support.Performance Configuration
CONDA_PREFERRED_FORMAT
Type: StringDefault:
"none"Choices:
.tar.bz2, .conda, none
Preferred package format. Packages not in this format are automatically transmuted.
Significant speedup: Using
.conda format provides notable performance gains. Requires either micromamba>=1.4.0 or conda-package-handling>=1.9.0.CONDA_LOCK_TIMEOUT
Type: Integer (seconds)Default:
3600
Timeout for acquiring locks when creating environments.
Conda does not like multiple processes modifying its data simultaneously. Metaflow uses lock files to prevent this. If a lock file is stuck, Metaflow will wait this long before giving up.
Remote Execution Configuration
CONDA_REMOTE_INSTALLER_DIRNAME
Type: StringDefault:
None
Directory within CONDA_*ROOT containing cached micromamba (or similar) executables for remote environments.
If not set, latest
micromamba is downloaded on remote environments when needed.CONDA_REMOTE_INSTALLER
Type: StringDefault:
None
Architecture-specific installer filename in CONDA_REMOTE_INSTALLER_DIRNAME. Use {arch} for architecture substitution.
CONDA_REMOTE_COMMANDS
Type: ListDefault:
["batch", "kubernetes"]
Decorators that indicate remote execution.
Local Distribution Configuration
CONDA_LOCAL_DIST_DIRNAME
Type: StringDefault:
None
Directory within CONDA_*ROOT containing fully created conda environments for local execution.
If not set, the local machine’s Conda installation is used.
CONDA_LOCAL_DIST
Type: StringDefault:
None
Architecture-specific tarball in CONDA_LOCAL_DIST_DIRNAME. Use {arch} for substitution.
CONDA_LOCAL_PATH
Type: StringDefault:
None
Path to install the local conda distribution. If not exists, Metaflow installs from CONDA_LOCAL_DIST.
Source Configuration
CONDA_DEFAULT_PYPI_SOURCE
Type: String (URL)Default:
None (uses PyPI default)
Mirror to use for PyPI packages.
CONDA_SRCS_AUTH_INFO
Type: Dictionary (JSON string)Default:
{}
Authentication information for package sources. Key is hostname, value is [username, password].
Metaflow automatically reads authentication from standard locations (
.netrc, pip.conf, etc.). Use this for additional sources.Environment Resolution Behavior
CONDA_USE_REMOTE_LATEST
Type: StringDefault:
":none:"Choices:
:none:, :username:, :any:, or comma-separated usernames
Whether to check remote storage for already-resolved environments.
- :none:
- :username:
- :any:
- Specific Users
Default: Never use remote environments. Always re-resolve if not known locally.
System Package Configuration
CONDA_SYS_DEFAULT_PACKAGES
Type: Dictionary (JSON string)Default:
{"linux-64": {"__glibc": "2.27"}}
Default system packages when not specified.
CONDA_SYS_DEFAULT_GPU_PACKAGES
Type: Dictionary (JSON string)Default:
{}
System packages to add when GPU resources are requested.
CONDA_BUILDER_ENV_PACKAGES
Type: ListDefault:
[] (or ["keyrings.google-artifactregistry-auth"] if GOOGLE_APPLICATION_CREDENTIALS is set)
Packages needed in intermediate conda environments for resolving PyPI environments.
Architecture Configuration
CONDA_ALL_ARCHS
Type: ListDefault:
["linux-64", "osx-64", "osx-arm64"]
All architectures supported by Conda.
Debugging Configuration
DEBUG_CONDA
Type: BooleanDefault:
False
Enable detailed debug output for Conda operations.
Debug output can help diagnose resolution or environment creation issues. Include this output when reporting bugs.
CONDA_TEST
Type: BooleanDefault:
False
Enable test mode (used internally for testing).
Common Configuration Profiles
Development Profile
Fast resolution, use latest packages:Production Profile
Stable resolution, reproducible builds:Team Sharing Profile
Share environments across team:Enterprise Profile
Private package sources:Configuration File
All configuration can be set in your Metaflow config file or directly in the code:In Config File
~/.metaflowconfig/config.json
In Code
Verification
Verify your configuration:Next Steps
Troubleshooting
Debug common configuration issues
CLI Reference
Learn environment management commands
