{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://pixi.sh/v0.66.0/schema/manifest/schema.json", "title": "`pixi.toml` manifest file", "description": "The configuration for a [`pixi`](https://pixi.sh) project.", "type": "object", "additionalProperties": false, "properties": { "$schema": { "title": "Schema", "description": "The schema identifier for the project's configuration", "type": "string", "default": "https://pixi.sh/v0.66.0/schema/manifest/schema.json", "format": "uri-reference" }, "activation": { "$ref": "#/$defs/Activation", "description": "The scripts used on the activation of the project" }, "build-dependencies": { "title": "Build-Dependencies", "description": "The build `conda` dependencies, used in the build process. See https://pixi.sh/latest/build/dependency_types/ for more information.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "constraints": { "title": "Constraints", "description": "The `conda` version constraints. These constrain the versions of packages that may be installed without explicitly requiring them. If the package is installed as a dependency of another package, it must satisfy these constraints.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "dependencies": { "title": "Dependencies", "description": "The `conda` dependencies, consisting of a package name and a requirement in [MatchSpec](https://github.com/conda/conda/blob/078e7ee79381060217e1ec7f9b0e9cf80ecc8f3f/conda/models/match_spec.py) format", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "dev": { "title": "Dev", "description": "Source packages whose dependencies should be installed without building the package itself. Useful for development environments.", "type": "object", "additionalProperties": { "$ref": "#/$defs/SourceSpecTable" }, "propertyNames": { "minLength": 1 } }, "environments": { "title": "Environments", "description": "The environments of the project, defined as a full object or a list of feature names.", "type": "object", "patternProperties": { "^[a-z\\d\\-]+$": { "anyOf": [ { "$ref": "#/$defs/Environment" }, { "type": "array", "items": { "type": "string", "minLength": 1 } } ] } } }, "feature": { "title": "Feature", "description": "The features of the project", "type": "object", "additionalProperties": { "$ref": "#/$defs/Feature" }, "propertyNames": { "minLength": 1 } }, "host-dependencies": { "title": "Host-Dependencies", "description": "The host `conda` dependencies, used in the build process. See https://pixi.sh/latest/build/dependency_types/ for more information.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 }, "examples": [ { "python": ">=3.8" } ] }, "package": { "$ref": "#/$defs/Package", "description": "The package's metadata information" }, "project": { "$ref": "#/$defs/Workspace", "description": "The project's metadata information" }, "pypi-dependencies": { "title": "Pypi-Dependencies", "description": "The PyPI dependencies", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/PyPIVersion" }, { "$ref": "#/$defs/PyPIGitBranchRequirement" }, { "$ref": "#/$defs/PyPIGitTagRequirement" }, { "$ref": "#/$defs/PyPIGitRevRequirement" }, { "$ref": "#/$defs/PyPIPathRequirement" }, { "$ref": "#/$defs/PyPIUrlRequirement" } ] }, "propertyNames": { "minLength": 1 } }, "pypi-options": { "$ref": "#/$defs/PyPIOptions", "description": "Options related to PyPI indexes, on the default feature" }, "system-requirements": { "$ref": "#/$defs/SystemRequirements", "description": "The system requirements of the project" }, "target": { "title": "Target", "description": "The targets of the project", "type": "object", "additionalProperties": { "$ref": "#/$defs/Target" }, "propertyNames": { "minLength": 1 }, "examples": [ { "linux": { "dependencies": { "python": "3.8" } } } ] }, "tasks": { "title": "Tasks", "description": "The tasks of the project", "type": "object", "patternProperties": { "^[^\\s\\$]+$": { "anyOf": [ { "$ref": "#/$defs/TaskInlineTable" }, { "type": "array", "items": { "$ref": "#/$defs/DependsOn" } }, { "type": "string", "minLength": 1 } ] } }, "propertyNames": { "description": "A valid task name.", "minLength": 1 } }, "tool": { "title": "Tool", "description": "Third-party tool configurations, ignored by pixi", "type": "object", "additionalProperties": true }, "workspace": { "$ref": "#/$defs/Workspace", "description": "The workspace's metadata information" } }, "anyOf": [ { "required": [ "package" ] }, { "required": [ "project" ] }, { "required": [ "workspace" ] } ], "$defs": { "Activation": { "title": "Activation", "description": "A description of steps performed when an environment is activated", "type": "object", "additionalProperties": false, "properties": { "env": { "title": "Env", "description": "A map of environment variables to values, used in the activation of the environment. These will be set in the shell. Thus these variables are shell specific. Using '$' might not expand to a value in different shells.", "type": "object", "additionalProperties": { "type": "string", "minLength": 1 }, "propertyNames": { "minLength": 1 }, "examples": [ { "key": "value" }, { "ARGUMENT": "value" } ] }, "scripts": { "title": "Scripts", "description": "The scripts to run when the environment is activated", "type": "array", "items": { "type": "string", "minLength": 1 }, "examples": [ "activate.sh", "activate.bat" ] } } }, "Build": { "title": "Build", "type": "object", "required": [ "backend" ], "additionalProperties": false, "properties": { "additional-dependencies": { "title": "Additional-Dependencies", "description": "Additional dependencies to install alongside the build backend", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "backend": { "$ref": "#/$defs/BuildBackend", "description": "The build backend to instantiate" }, "channels": { "title": "Channels", "description": "The `conda` channels that are used to fetch the build backend from", "type": "array", "items": { "anyOf": [ { "type": "string", "minLength": 1 }, { "type": "string", "format": "uri", "minLength": 1 }, { "$ref": "#/$defs/ChannelInlineTable" } ] } }, "config": { "title": "Config", "description": "The configuration of the build backend", "type": "object", "additionalProperties": true }, "source": { "$ref": "#/$defs/SourceLocation", "description": "The source from which to build the package", "examples": [ { "path": "project" }, { "git": "https://github.com/user/repo.git", "rev": "bd62770509b8afd792e98d20f8b458e2a7f19ec2", "subdirectory": "subproject/src" } ] }, "target": { "title": "Target", "description": "Target-specific build configuration for different platforms", "type": "object", "additionalProperties": { "$ref": "#/$defs/BuildTarget" }, "propertyNames": { "minLength": 1 }, "examples": [ { "linux-64": { "config": { "key": "value" } } } ] } } }, "BuildBackend": { "title": "BuildBackend", "type": "object", "additionalProperties": false, "properties": { "additional-dependencies": { "title": "Additional-Dependencies", "description": "Additional dependencies to install alongside the build backend", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "branch": { "title": "Branch", "description": "A git branch to use", "type": "string", "minLength": 1 }, "build": { "title": "Build", "description": "The build string of the package", "type": "string", "minLength": 1 }, "build-number": { "title": "Build-Number", "description": "The build number of the package, can be a spec like `>=1` or `<=10` or `1`", "type": "string", "minLength": 1 }, "channel": { "title": "Channel", "description": "The channel the packages needs to be fetched from", "type": "string", "minLength": 1, "examples": [ "conda-forge", "pytorch", "https://prefix.dev/conda-forge" ] }, "channels": { "title": "Channels", "description": "The `conda` channels that are used to fetch the build backend from", "type": "array", "items": { "anyOf": [ { "type": "string", "minLength": 1 }, { "type": "string", "format": "uri", "minLength": 1 }, { "$ref": "#/$defs/ChannelInlineTable" } ] } }, "file-name": { "title": "File-Name", "description": "The file name of the package", "type": "string", "minLength": 1 }, "git": { "title": "Git", "description": "The git URL to the repo", "type": "string", "minLength": 1 }, "license": { "title": "License", "description": "The license of the package", "type": "string", "minLength": 1 }, "md5": { "title": "Md5", "description": "The md5 hash of the package", "type": "string", "pattern": "^[a-fA-F0-9]{32}$" }, "name": { "title": "Name", "description": "The name of the build backend package", "type": "string", "minLength": 1 }, "path": { "title": "Path", "description": "The path to the package", "type": "string", "minLength": 1 }, "rev": { "title": "Rev", "description": "A git SHA revision to use", "type": "string", "minLength": 1 }, "sha256": { "title": "Sha256", "description": "The sha256 hash of the package", "type": "string", "pattern": "^[a-fA-F0-9]{64}$" }, "subdir": { "title": "Subdir", "description": "The subdir of the package, also known as platform", "type": "string", "minLength": 1 }, "subdirectory": { "title": "Subdirectory", "description": "A subdirectory to use in the repo", "type": "string", "minLength": 1 }, "tag": { "title": "Tag", "description": "A git tag to use", "type": "string", "minLength": 1 }, "url": { "title": "Url", "description": "The URL to the package", "type": "string", "minLength": 1 }, "version": { "title": "Version", "description": "The version of the package in [MatchSpec](https://github.com/conda/conda/blob/078e7ee79381060217e1ec7f9b0e9cf80ecc8f3f/conda/models/match_spec.py) format", "type": "string", "minLength": 1 } } }, "BuildTarget": { "title": "BuildTarget", "description": "Target-specific build configuration for different platforms", "type": "object", "additionalProperties": false, "properties": { "config": { "title": "Config", "description": "Target-specific configuration for the build backend", "type": "object", "additionalProperties": true } } }, "ChannelInlineTable": { "title": "ChannelInlineTable", "description": "A precise description of a `conda` channel, with an optional priority.", "type": "object", "required": [ "channel" ], "additionalProperties": false, "properties": { "channel": { "title": "Channel", "description": "The channel the packages needs to be fetched from", "anyOf": [ { "type": "string", "minLength": 1 }, { "type": "string", "format": "uri", "minLength": 1 } ] }, "priority": { "title": "Priority", "description": "The priority of the channel", "type": "integer" } } }, "ChannelPriority": { "title": "ChannelPriority", "description": "The priority of the channel.", "type": "string", "enum": [ "disabled", "strict" ] }, "DependsOn": { "title": "DependsOn", "description": "The dependencies of a task.", "type": "object", "required": [ "task" ], "additionalProperties": false, "properties": { "args": { "title": "Args", "description": "The (positional or named) arguments to pass to the task", "type": "array", "items": { "anyOf": [ { "type": "string" }, { "description": "A single item task name/value object", "type": "object", "patternProperties": { "^[a-zA-Z_][a-zA-Z\\d_]*$": { "type": "string" } }, "maxProperties": 1, "minProperties": 1, "propertyNames": { "description": "A valid task argument name; may not be any of: pixi", "not": { "enum": [ "pixi" ] } } } ] } }, "environment": { "title": "Environment", "description": "The environment to use for the task", "type": "string", "pattern": "^[a-z\\d\\-]+$" }, "task": { "title": "Task", "description": "the name of the task to depend on", "type": "string", "minLength": 1, "pattern": "^[^\\s\\$]+$" } } }, "Environment": { "title": "Environment", "description": "A composition of the dependencies of features which can be activated to run tasks or provide a shell", "type": "object", "additionalProperties": false, "properties": { "features": { "title": "Features", "description": "The features that define the environment", "type": "array", "items": { "type": "string", "minLength": 1 } }, "no-default-feature": { "title": "No-Default-Feature", "description": "Whether to add the default feature to this environment", "type": "boolean", "default": false }, "solve-group": { "title": "Solve-Group", "description": "The group name for environments that should be solved together", "type": "string", "minLength": 1 } } }, "Feature": { "title": "Feature", "description": "A composable aspect of the project which can contribute dependencies and tasks to an environment", "type": "object", "additionalProperties": false, "properties": { "activation": { "$ref": "#/$defs/Activation", "description": "The scripts used on the activation of environments using this feature" }, "build-dependencies": { "title": "Build-Dependencies", "description": "The build `conda` dependencies, used in the build process. See https://pixi.sh/latest/build/dependency_types/ for more information.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "channel-priority": { "$ref": "#/$defs/ChannelPriority", "description": "The type of channel priority that is used in the solve.\n- 'strict': only take the package from the channel it exist in first.\n- 'disabled': group all dependencies together as if there is no channel difference.", "examples": [ "strict", "disabled" ] }, "channels": { "title": "Channels", "description": "The `conda` channels that can be considered when solving environments containing this feature", "type": "array", "items": { "anyOf": [ { "type": "string", "minLength": 1 }, { "type": "string", "format": "uri", "minLength": 1 }, { "$ref": "#/$defs/ChannelInlineTable" } ] } }, "constraints": { "title": "Constraints", "description": "The `conda` version constraints. These constrain the versions of packages that may be installed without explicitly requiring them. If the package is installed as a dependency of another package, it must satisfy these constraints.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "dependencies": { "title": "Dependencies", "description": "The `conda` dependencies, consisting of a package name and a requirement in [MatchSpec](https://github.com/conda/conda/blob/078e7ee79381060217e1ec7f9b0e9cf80ecc8f3f/conda/models/match_spec.py) format", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "dev": { "title": "Dev", "description": "Source packages whose dependencies should be installed without building the package itself. Useful for development environments.", "type": "object", "additionalProperties": { "$ref": "#/$defs/SourceSpecTable" }, "propertyNames": { "minLength": 1 } }, "host-dependencies": { "title": "Host-Dependencies", "description": "The host `conda` dependencies, used in the build process. See https://pixi.sh/latest/build/dependency_types/ for more information.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 }, "examples": [ { "python": ">=3.8" } ] }, "platforms": { "title": "Platforms", "description": "The platforms that the feature supports: a union of all features combined in one environment is used for the environment.", "type": "array", "items": { "$ref": "#/$defs/Platform" } }, "pypi-dependencies": { "title": "Pypi-Dependencies", "description": "The PyPI dependencies of this feature", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/PyPIVersion" }, { "$ref": "#/$defs/PyPIGitBranchRequirement" }, { "$ref": "#/$defs/PyPIGitTagRequirement" }, { "$ref": "#/$defs/PyPIGitRevRequirement" }, { "$ref": "#/$defs/PyPIPathRequirement" }, { "$ref": "#/$defs/PyPIUrlRequirement" } ] }, "propertyNames": { "minLength": 1 } }, "pypi-options": { "$ref": "#/$defs/PyPIOptions", "description": "Options related to PyPI indexes for this feature" }, "solve-strategy": { "$ref": "#/$defs/SolveStrategy", "description": "The strategy that is used in the solve.\n- 'highest': solve all packages to the highest compatible version.\n- 'lowest': solve all packages to the lowest compatible version.\n- 'lowest-direct': solve direct dependencies to the lowest compatible version and transitive ones to the highest compatible version.", "examples": [ "lowest", "lowest-direct", "highest" ] }, "system-requirements": { "$ref": "#/$defs/SystemRequirements", "description": "The system requirements of this feature" }, "target": { "title": "Target", "description": "Machine-specific aspects of this feature", "type": "object", "additionalProperties": { "$ref": "#/$defs/Target" }, "propertyNames": { "minLength": 1 }, "examples": [ { "linux": { "dependencies": { "python": "3.8" } } } ] }, "tasks": { "title": "Tasks", "description": "The tasks provided by this feature", "type": "object", "patternProperties": { "^[^\\s\\$]+$": { "anyOf": [ { "$ref": "#/$defs/TaskInlineTable" }, { "type": "array", "items": { "$ref": "#/$defs/DependsOn" } }, { "type": "string", "minLength": 1 } ] } }, "propertyNames": { "description": "A valid task name.", "minLength": 1 } } } }, "FindLinksPath": { "title": "FindLinksPath", "description": "The path to the directory containing packages", "type": "object", "additionalProperties": false, "properties": { "path": { "title": "Path", "description": "Path to the directory of packages", "type": "string", "minLength": 1, "examples": [ "./links" ] } } }, "FindLinksURL": { "title": "FindLinksURL", "description": "The URL to the html file containing href-links to packages", "type": "object", "additionalProperties": false, "properties": { "url": { "title": "Url", "description": "URL to html file with href-links to packages", "type": "string", "minLength": 1, "examples": [ "https://simple-index-is-here.com" ] } } }, "LibcFamily": { "title": "LibcFamily", "type": "object", "additionalProperties": false, "properties": { "family": { "title": "Family", "description": "The family of the `libc`", "type": "string", "minLength": 1, "examples": [ "glibc", "musl" ] }, "version": { "title": "Version", "description": "The version of `libc`", "anyOf": [ { "type": "number" }, { "type": "string", "minLength": 1 } ] } } }, "MatchspecTable": { "title": "MatchspecTable", "description": "A precise description of a `conda` package version.", "type": "object", "additionalProperties": false, "properties": { "branch": { "title": "Branch", "description": "A git branch to use", "type": "string", "minLength": 1 }, "build": { "title": "Build", "description": "The build string of the package", "type": "string", "minLength": 1 }, "build-number": { "title": "Build-Number", "description": "The build number of the package, can be a spec like `>=1` or `<=10` or `1`", "type": "string", "minLength": 1 }, "channel": { "title": "Channel", "description": "The channel the packages needs to be fetched from", "type": "string", "minLength": 1, "examples": [ "conda-forge", "pytorch", "https://prefix.dev/conda-forge" ] }, "file-name": { "title": "File-Name", "description": "The file name of the package", "type": "string", "minLength": 1 }, "git": { "title": "Git", "description": "The git URL to the repo", "type": "string", "minLength": 1 }, "license": { "title": "License", "description": "The license of the package", "type": "string", "minLength": 1 }, "md5": { "title": "Md5", "description": "The md5 hash of the package", "type": "string", "pattern": "^[a-fA-F0-9]{32}$" }, "path": { "title": "Path", "description": "The path to the package", "type": "string", "minLength": 1 }, "rev": { "title": "Rev", "description": "A git SHA revision to use", "type": "string", "minLength": 1 }, "sha256": { "title": "Sha256", "description": "The sha256 hash of the package", "type": "string", "pattern": "^[a-fA-F0-9]{64}$" }, "subdir": { "title": "Subdir", "description": "The subdir of the package, also known as platform", "type": "string", "minLength": 1 }, "subdirectory": { "title": "Subdirectory", "description": "A subdirectory to use in the repo", "type": "string", "minLength": 1 }, "tag": { "title": "Tag", "description": "A git tag to use", "type": "string", "minLength": 1 }, "url": { "title": "Url", "description": "The URL to the package", "type": "string", "minLength": 1 }, "version": { "title": "Version", "description": "The version of the package in [MatchSpec](https://github.com/conda/conda/blob/078e7ee79381060217e1ec7f9b0e9cf80ecc8f3f/conda/models/match_spec.py) format", "type": "string", "minLength": 1 } } }, "Package": { "title": "Package", "description": "The package's metadata information.", "type": "object", "required": [ "build" ], "additionalProperties": false, "properties": { "authors": { "title": "Authors", "description": "The authors of the project. Can be a list of strings or { workspace = true } to inherit from workspace", "anyOf": [ { "type": "array", "items": { "type": "string", "minLength": 1 } }, { "$ref": "#/$defs/WorkspaceInheritance" } ], "examples": [ [ "John Doe " ], { "workspace": true } ] }, "build": { "$ref": "#/$defs/Build", "description": "The build configuration of the package" }, "build-dependencies": { "title": "Build-Dependencies", "description": "The build `conda` dependencies, used in the build process. See https://pixi.sh/latest/build/dependency_types/ for more information.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "description": { "title": "Description", "description": "A short description of the project. Can be a string or { workspace = true } to inherit from workspace", "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/WorkspaceInheritance" } ] }, "documentation": { "title": "Documentation", "description": "The URL of the documentation of the project. Can be a URL or { workspace = true } to inherit from workspace", "anyOf": [ { "type": "string", "format": "uri", "minLength": 1 }, { "$ref": "#/$defs/WorkspaceInheritance" } ] }, "homepage": { "title": "Homepage", "description": "The URL of the homepage of the project. Can be a URL or { workspace = true } to inherit from workspace", "anyOf": [ { "type": "string", "format": "uri", "minLength": 1 }, { "$ref": "#/$defs/WorkspaceInheritance" } ] }, "host-dependencies": { "title": "Host-Dependencies", "description": "The host `conda` dependencies, used in the build process. See https://pixi.sh/latest/build/dependency_types/ for more information.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 }, "examples": [ { "python": ">=3.8" } ] }, "license": { "title": "License", "description": "The license of the project; we advise using an [SPDX](https://spdx.org/licenses/) identifier. Can be a string or { workspace = true } to inherit from workspace", "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/WorkspaceInheritance" } ] }, "license-file": { "title": "License-File", "description": "The path to the license file of the project. Can be a path or { workspace = true } to inherit from workspace", "anyOf": [ { "type": "string", "pattern": "^[^\\\\]+$" }, { "$ref": "#/$defs/WorkspaceInheritance" } ] }, "name": { "title": "Name", "description": "The name of the package. Can be a string or { workspace = true } to inherit from workspace", "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/WorkspaceInheritance" } ] }, "readme": { "title": "Readme", "description": "The path to the readme file of the project. Can be a path or { workspace = true } to inherit from workspace", "anyOf": [ { "type": "string", "pattern": "^[^\\\\]+$" }, { "$ref": "#/$defs/WorkspaceInheritance" } ] }, "repository": { "title": "Repository", "description": "The URL of the repository of the project. Can be a URL or { workspace = true } to inherit from workspace", "anyOf": [ { "type": "string", "format": "uri", "minLength": 1 }, { "$ref": "#/$defs/WorkspaceInheritance" } ] }, "run-dependencies": { "title": "Run-Dependencies", "description": "The `conda` dependencies required at runtime. See https://pixi.sh/latest/build/dependency_types/ for more information.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "target": { "title": "Target", "description": "Machine-specific aspects of the package", "type": "object", "additionalProperties": { "$ref": "#/$defs/Target" }, "propertyNames": { "minLength": 1 }, "examples": [ { "linux": { "host-dependencies": { "python": "3.8" } } } ] }, "version": { "title": "Version", "description": "The version of the project; we advise use of [SemVer](https://semver.org). Can be a string or { workspace = true } to inherit from workspace", "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/WorkspaceInheritance" } ], "examples": [ "1.2.3", { "workspace": true } ] } } }, "Platform": { "title": "Platform", "description": "A supported operating system and processor architecture pair.", "type": "string", "enum": [ "emscripten-wasm32", "linux-32", "linux-64", "linux-aarch64", "linux-armv6l", "linux-armv7l", "linux-ppc64", "linux-ppc64le", "linux-riscv32", "linux-riscv64", "linux-s390x", "noarch", "osx-64", "osx-arm64", "unknown", "wasi-wasm32", "win-32", "win-64", "win-arm64", "zos-z" ] }, "PyPIGitBranchRequirement": { "title": "PyPIGitBranchRequirement", "type": "object", "additionalProperties": false, "properties": { "branch": { "title": "Branch", "description": "A `git` branch to use", "type": "string", "minLength": 1 }, "extras": { "title": "Extras", "description": "The [PEP 508 extras](https://peps.python.org/pep-0508/#extras) of the package", "type": "array", "items": { "type": "string", "minLength": 1 } }, "git": { "title": "Git", "description": "The `git` URL to the repo e.g https://github.com/prefix-dev/pixi", "type": "string", "minLength": 1 }, "subdirectory": { "title": "Subdirectory", "description": "The subdirectory in the repo, a path from the root of the repo.", "type": "string", "minLength": 1 } } }, "PyPIGitRevRequirement": { "title": "PyPIGitRevRequirement", "type": "object", "additionalProperties": false, "properties": { "extras": { "title": "Extras", "description": "The [PEP 508 extras](https://peps.python.org/pep-0508/#extras) of the package", "type": "array", "items": { "type": "string", "minLength": 1 } }, "git": { "title": "Git", "description": "The `git` URL to the repo e.g https://github.com/prefix-dev/pixi", "type": "string", "minLength": 1 }, "rev": { "title": "Rev", "description": "A `git` SHA revision to use", "type": "string", "minLength": 1 }, "subdirectory": { "title": "Subdirectory", "description": "The subdirectory in the repo, a path from the root of the repo.", "type": "string", "minLength": 1 } } }, "PyPIGitTagRequirement": { "title": "PyPIGitTagRequirement", "type": "object", "additionalProperties": false, "properties": { "extras": { "title": "Extras", "description": "The [PEP 508 extras](https://peps.python.org/pep-0508/#extras) of the package", "type": "array", "items": { "type": "string", "minLength": 1 } }, "git": { "title": "Git", "description": "The `git` URL to the repo e.g https://github.com/prefix-dev/pixi", "type": "string", "minLength": 1 }, "subdirectory": { "title": "Subdirectory", "description": "The subdirectory in the repo, a path from the root of the repo.", "type": "string", "minLength": 1 }, "tag": { "title": "Tag", "description": "A `git` tag to use", "type": "string", "minLength": 1 } } }, "PyPIOptions": { "title": "PyPIOptions", "description": "Options that determine the behavior of PyPI package resolution and installation", "type": "object", "additionalProperties": false, "properties": { "dependency-overrides": { "title": "Dependency-Overrides", "description": "A list of PyPI dependencies that override the resolved dependencies", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/PyPIVersion" }, { "$ref": "#/$defs/PyPIGitBranchRequirement" }, { "$ref": "#/$defs/PyPIGitTagRequirement" }, { "$ref": "#/$defs/PyPIGitRevRequirement" }, { "$ref": "#/$defs/PyPIPathRequirement" }, { "$ref": "#/$defs/PyPIUrlRequirement" } ] }, "propertyNames": { "minLength": 1 }, "examples": [ { "numpy": ">=1.21.0" } ] }, "extra-index-urls": { "title": "Extra-Index-Urls", "description": "Additional PyPI registries that should be used as extra indexes", "type": "array", "items": { "type": "string", "minLength": 1 }, "examples": [ [ "https://pypi.org/simple" ] ] }, "find-links": { "title": "Find-Links", "description": "Paths to directory containing", "type": "array", "items": { "anyOf": [ { "$ref": "#/$defs/FindLinksPath" }, { "$ref": "#/$defs/FindLinksURL" } ] }, "examples": [ [ "https://pypi.org/simple" ] ] }, "index-strategy": { "title": "Index-Strategy", "description": "The strategy to use when resolving packages from multiple indexes", "anyOf": [ { "type": "string", "const": "first-index" }, { "type": "string", "const": "unsafe-first-match" }, { "type": "string", "const": "unsafe-best-match" } ], "examples": [ "first-index", "unsafe-first-match", "unsafe-best-match" ] }, "index-url": { "title": "Index-Url", "description": "PyPI registry that should be used as the primary index", "type": "string", "minLength": 1, "examples": [ "https://pypi.org/simple" ] }, "no-binary": { "title": "No-Binary", "description": "Don't use pre-built wheels for these packages", "anyOf": [ { "type": "boolean" }, { "type": "array", "items": { "type": "string", "minLength": 1 } } ], "examples": [ "true", "false" ] }, "no-build": { "title": "No-Build", "description": "Packages that should NOT be built", "anyOf": [ { "type": "boolean" }, { "type": "array", "items": { "type": "string", "minLength": 1 } } ], "examples": [ "true", "false" ] }, "no-build-isolation": { "title": "No-Build-Isolation", "description": "Packages that should NOT be isolated during the build process", "anyOf": [ { "type": "boolean" }, { "type": "array", "items": { "type": "string", "minLength": 1 } } ], "examples": [ [ "numpy" ], true ] }, "prerelease-mode": { "title": "Prerelease-Mode", "description": "The strategy to use when considering pre-release versions", "anyOf": [ { "type": "string", "const": "disallow" }, { "type": "string", "const": "allow" }, { "type": "string", "const": "if-necessary" }, { "type": "string", "const": "explicit" }, { "type": "string", "const": "if-necessary-or-explicit" } ], "examples": [ "disallow", "allow", "if-necessary", "explicit", "if-necessary-or-explicit" ] }, "skip-wheel-filename-check": { "title": "Skip-Wheel-Filename-Check", "description": "Skip wheel filename validation, allowing installation of wheels with version mismatches between filename and metadata", "type": "boolean", "examples": [ true, false ] } } }, "PyPIPathRequirement": { "title": "PyPIPathRequirement", "type": "object", "additionalProperties": false, "properties": { "editable": { "title": "Editable", "description": "If `true` the package will be installed as editable", "type": "boolean" }, "extras": { "title": "Extras", "description": "The [PEP 508 extras](https://peps.python.org/pep-0508/#extras) of the package", "type": "array", "items": { "type": "string", "minLength": 1 } }, "path": { "title": "Path", "description": "A path to a local source or wheel", "type": "string", "minLength": 1 }, "subdirectory": { "title": "Subdirectory", "description": "The subdirectory in the repo, a path from the root of the repo.", "type": "string", "minLength": 1 } } }, "PyPIUrlRequirement": { "title": "PyPIUrlRequirement", "type": "object", "additionalProperties": false, "properties": { "extras": { "title": "Extras", "description": "The [PEP 508 extras](https://peps.python.org/pep-0508/#extras) of the package", "type": "array", "items": { "type": "string", "minLength": 1 } }, "url": { "title": "Url", "description": "A URL to a remote source or wheel", "type": "string", "minLength": 1 } } }, "PyPIVersion": { "title": "PyPIVersion", "type": "object", "additionalProperties": false, "properties": { "extras": { "title": "Extras", "description": "The [PEP 508 extras](https://peps.python.org/pep-0508/#extras) of the package", "type": "array", "items": { "type": "string", "minLength": 1 } }, "index": { "title": "Index", "description": "The index to fetch the package from", "type": "string", "minLength": 1 }, "version": { "title": "Version", "description": "The version of the package in [PEP 440](https://www.python.org/dev/peps/pep-0440/) format", "type": "string", "minLength": 1 } } }, "S3Options": { "title": "S3Options", "description": "Options related to S3 for this project", "type": "object", "required": [ "endpoint-url", "region", "force-path-style" ], "additionalProperties": false, "properties": { "endpoint-url": { "title": "Endpoint-Url", "description": "The endpoint URL to use for the S3 client", "type": "string", "minLength": 1, "examples": [ "https://s3.eu-central-1.amazonaws.com" ] }, "force-path-style": { "title": "Force-Path-Style", "description": "Whether to force path style for the S3 client", "type": "boolean" }, "region": { "title": "Region", "description": "The region to use for the S3 client", "type": "string", "minLength": 1, "examples": [ "eu-central-1" ] } } }, "SolveStrategy": { "title": "SolveStrategy", "description": "The strategy used to solve packages.", "type": "string", "enum": [ "highest", "lowest", "lowest-direct" ] }, "SourceLocation": { "title": "SourceLocation", "description": "The location of a package's source code.", "type": "object", "additionalProperties": false, "properties": { "branch": { "title": "Branch", "description": "A git branch to use", "type": "string", "minLength": 1 }, "git": { "title": "Git", "description": "The git URL to the source repo", "type": "string", "minLength": 1 }, "path": { "title": "Path", "description": "The path to the source", "type": "string", "minLength": 1 }, "rev": { "title": "Rev", "description": "A git SHA revision to use", "type": "string", "minLength": 1 }, "subdirectory": { "title": "Subdirectory", "description": "A subdirectory to use in the repo", "type": "string", "minLength": 1 }, "tag": { "title": "Tag", "description": "A git tag to use", "type": "string", "minLength": 1 } } }, "SourceSpecTable": { "title": "SourceSpecTable", "description": "A precise description of a source package location.", "type": "object", "additionalProperties": false, "properties": { "branch": { "title": "Branch", "description": "A git branch to use", "type": "string", "minLength": 1 }, "git": { "title": "Git", "description": "The git URL to the source repo", "type": "string", "minLength": 1 }, "md5": { "title": "Md5", "description": "The md5 hash of the source package", "type": "string", "pattern": "^[a-fA-F0-9]{32}$" }, "path": { "title": "Path", "description": "The path to the source package", "type": "string", "minLength": 1 }, "rev": { "title": "Rev", "description": "A git SHA revision to use", "type": "string", "minLength": 1 }, "sha256": { "title": "Sha256", "description": "The sha256 hash of the source package", "type": "string", "pattern": "^[a-fA-F0-9]{64}$" }, "subdirectory": { "title": "Subdirectory", "description": "A subdirectory to use in the repo", "type": "string", "minLength": 1 }, "tag": { "title": "Tag", "description": "A git tag to use", "type": "string", "minLength": 1 }, "url": { "title": "Url", "description": "The URL to the source package", "type": "string", "minLength": 1 } } }, "SystemRequirements": { "title": "SystemRequirements", "description": "Platform-specific requirements", "type": "object", "additionalProperties": false, "properties": { "archspec": { "title": "Archspec", "description": "The architecture the project supports", "type": "string", "minLength": 1 }, "cuda": { "title": "Cuda", "description": "The minimum version of CUDA", "anyOf": [ { "type": "number" }, { "type": "string", "minLength": 1 } ] }, "libc": { "title": "Libc", "description": "The minimum version of `libc`", "anyOf": [ { "$ref": "#/$defs/LibcFamily" }, { "type": "number" }, { "type": "string", "minLength": 1 } ] }, "linux": { "title": "Linux", "description": "The minimum version of the Linux kernel", "anyOf": [ { "type": "number", "exclusiveMinimum": 0 }, { "type": "string", "minLength": 1 } ] }, "macos": { "title": "Macos", "description": "The minimum version of MacOS", "anyOf": [ { "type": "number", "exclusiveMinimum": 0 }, { "type": "string", "minLength": 1 } ] }, "unix": { "title": "Unix", "description": "Whether the project supports UNIX", "anyOf": [ { "type": "boolean" }, { "type": "string", "minLength": 1 } ], "examples": [ "true" ] } } }, "Target": { "title": "Target", "description": "A machine-specific configuration of dependencies and tasks", "type": "object", "additionalProperties": false, "properties": { "activation": { "$ref": "#/$defs/Activation", "description": "The scripts used on the activation of the project for this target" }, "build-dependencies": { "title": "Build-Dependencies", "description": "The build `conda` dependencies, used in the build process. See https://pixi.sh/latest/build/dependency_types/ for more information.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "constraints": { "title": "Constraints", "description": "The `conda` version constraints. These constrain the versions of packages that may be installed without explicitly requiring them. If the package is installed as a dependency of another package, it must satisfy these constraints.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "dependencies": { "title": "Dependencies", "description": "The `conda` dependencies, consisting of a package name and a requirement in [MatchSpec](https://github.com/conda/conda/blob/078e7ee79381060217e1ec7f9b0e9cf80ecc8f3f/conda/models/match_spec.py) format", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 } }, "dev": { "title": "Dev", "description": "Source packages whose dependencies should be installed without building the package itself. Useful for development environments.", "type": "object", "additionalProperties": { "$ref": "#/$defs/SourceSpecTable" }, "propertyNames": { "minLength": 1 } }, "host-dependencies": { "title": "Host-Dependencies", "description": "The host `conda` dependencies, used in the build process. See https://pixi.sh/latest/build/dependency_types/ for more information.", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/MatchspecTable" } ] }, "propertyNames": { "minLength": 1 }, "examples": [ { "python": ">=3.8" } ] }, "pypi-dependencies": { "title": "Pypi-Dependencies", "description": "The PyPI dependencies for this target", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "minLength": 1 }, { "$ref": "#/$defs/PyPIVersion" }, { "$ref": "#/$defs/PyPIGitBranchRequirement" }, { "$ref": "#/$defs/PyPIGitTagRequirement" }, { "$ref": "#/$defs/PyPIGitRevRequirement" }, { "$ref": "#/$defs/PyPIPathRequirement" }, { "$ref": "#/$defs/PyPIUrlRequirement" } ] }, "propertyNames": { "minLength": 1 } }, "tasks": { "title": "Tasks", "description": "The tasks of the target", "type": "object", "patternProperties": { "^[^\\s\\$]+$": { "anyOf": [ { "$ref": "#/$defs/TaskInlineTable" }, { "type": "array", "items": { "$ref": "#/$defs/DependsOn" } }, { "type": "string", "minLength": 1 } ] } }, "propertyNames": { "description": "A valid task name.", "minLength": 1 } } } }, "TaskArgs": { "title": "TaskArgs", "description": "The arguments of a task.", "type": "object", "required": [ "arg" ], "additionalProperties": false, "properties": { "arg": { "title": "Arg", "description": "The name of the argument", "type": "string", "not": { "enum": [ "pixi" ] }, "pattern": "^[a-zA-Z_][a-zA-Z\\d_]*$" }, "choices": { "title": "Choices", "description": "Allowed values for the argument", "type": "array", "items": { "type": "string" }, "minItems": 1 }, "default": { "title": "Default", "description": "The default value of the argument", "type": "string" } } }, "TaskInlineTable": { "title": "TaskInlineTable", "description": "A precise definition of a task.", "type": "object", "additionalProperties": false, "properties": { "args": { "title": "Args", "description": "The arguments to a task", "type": "array", "items": { "anyOf": [ { "$ref": "#/$defs/TaskArgs" }, { "description": "A valid task argument name; may not be any of: pixi", "type": "string", "not": { "enum": [ "pixi" ] }, "pattern": "^[a-zA-Z_][a-zA-Z\\d_]*$" } ] }, "examples": [ [ "arg1", "arg2" ], [ "arg", { "arg": "arg2", "default": "2" } ], [ "arg", { "arg": "arg2", "choices": [ "1", "2", "4" ], "default": "2" } ] ] }, "clean-env": { "title": "Clean-Env", "description": "Whether to run in a clean environment, removing all environment variables except those defined in `env` and by pixi itself.", "type": "boolean" }, "cmd": { "title": "Cmd", "description": "A shell command to run the task in the limited, but cross-platform `bash`-like `deno_task_shell`. See the documentation for [supported syntax](https://pixi.sh/latest/environments/advanced_tasks/#syntax)", "anyOf": [ { "type": "array", "items": { "type": "string", "minLength": 1 } }, { "type": "string", "minLength": 1 } ] }, "cwd": { "title": "Cwd", "description": "The working directory to run the task", "type": "string", "pattern": "^[^\\\\]+$" }, "default-environment": { "title": "Default-Environment", "description": "A default environment to run the task", "type": "string", "pattern": "^[a-z\\d\\-]+$" }, "depends-on": { "title": "Depends-On", "description": "The tasks that this task depends on. Environment variables will **not** be expanded.", "anyOf": [ { "type": "array", "items": { "anyOf": [ { "$ref": "#/$defs/DependsOn" }, { "description": "A valid task name.", "type": "string", "minLength": 1, "pattern": "^[^\\s\\$]+$" } ] } }, { "$ref": "#/$defs/DependsOn" }, { "description": "A valid task name.", "type": "string", "minLength": 1, "pattern": "^[^\\s\\$]+$" } ] }, "depends_on": { "title": "Depends On", "description": "The tasks that this task depends on. Environment variables will **not** be expanded. Deprecated in favor of `depends-on` from v0.21.0 onward.", "anyOf": [ { "type": "array", "items": { "description": "A valid task name.", "type": "string", "minLength": 1, "pattern": "^[^\\s\\$]+$" } }, { "description": "A valid task name.", "type": "string", "minLength": 1, "pattern": "^[^\\s\\$]+$" } ] }, "description": { "title": "Description", "description": "A short description of the task", "type": "string", "minLength": 1 }, "env": { "title": "Env", "description": "A map of environment variables to values, used in the task, these will be overwritten by the shell.", "type": "object", "additionalProperties": { "type": "string", "minLength": 1 }, "propertyNames": { "minLength": 1 }, "examples": [ { "key": "value" }, { "ARGUMENT": "value" } ] }, "inputs": { "title": "Inputs", "description": "A list of `.gitignore`-style glob patterns that should be watched for changes before this command is run. Environment variables _will_ be expanded.", "type": "array", "items": { "type": "string", "minLength": 1 } }, "outputs": { "title": "Outputs", "description": "A list of `.gitignore`-style glob patterns that are generated by this command. Environment variables _will_ be expanded.", "type": "array", "items": { "type": "string", "minLength": 1 } } } }, "Workspace": { "title": "Workspace", "description": "The project's metadata information.", "type": "object", "required": [ "channels" ], "additionalProperties": false, "properties": { "authors": { "title": "Authors", "description": "The authors of the project", "type": "array", "items": { "type": "string", "minLength": 1 }, "examples": [ "John Doe " ] }, "build-variants": { "title": "Build-Variants", "description": "The build variants of the project", "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "propertyNames": { "minLength": 1 } }, "build-variants-files": { "title": "Build-Variants-Files", "description": "Ordered list of variant definition files.", "type": "array", "items": { "type": "string", "pattern": "^[^\\\\]+$" } }, "channel-priority": { "$ref": "#/$defs/ChannelPriority", "description": "The type of channel priority that is used in the solve.\n- 'strict': only take the package from the channel it exist in first.\n- 'disabled': group all dependencies together as if there is no channel difference.", "examples": [ "strict", "disabled" ] }, "channels": { "title": "Channels", "description": "The `conda` channels that can be used in the project. Unless overridden by `priority`, the first channel listed will be preferred.", "type": "array", "items": { "anyOf": [ { "type": "string", "minLength": 1 }, { "type": "string", "format": "uri", "minLength": 1 }, { "$ref": "#/$defs/ChannelInlineTable" } ] } }, "conda-pypi-map": { "title": "Conda-Pypi-Map", "description": "The `conda` to PyPI mapping configuration", "type": "object", "additionalProperties": { "anyOf": [ { "type": "string", "format": "uri", "minLength": 1 }, { "type": "string", "minLength": 1 } ] } }, "description": { "title": "Description", "description": "A short description of the project", "type": "string", "minLength": 1 }, "documentation": { "title": "Documentation", "description": "The URL of the documentation of the project", "type": "string", "format": "uri", "minLength": 1 }, "exclude-newer": { "title": "Exclude-Newer", "description": "Exclude any package newer than this date", "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}:\\d{2}(Z|[+-]\\d{2}:\\d{2}))?$", "examples": [ "2023-11-03", "2023-11-03T03:33:12Z" ] }, "homepage": { "title": "Homepage", "description": "The URL of the homepage of the project", "type": "string", "format": "uri", "minLength": 1 }, "license": { "title": "License", "description": "The license of the project; we advise using an [SPDX](https://spdx.org/licenses/) identifier.", "type": "string", "minLength": 1 }, "license-file": { "title": "License-File", "description": "The path to the license file of the project", "type": "string", "pattern": "^[^\\\\]+$" }, "name": { "title": "Name", "description": "The name of the project; we advise use of the name of the repository", "type": "string", "minLength": 1 }, "platforms": { "title": "Platforms", "description": "The platforms that the project supports", "type": "array", "items": { "$ref": "#/$defs/Platform" } }, "preview": { "title": "Preview", "description": "Defines the enabling of preview features of the project", "anyOf": [ { "type": "array", "items": { "anyOf": [ { "description": "Enables building of source records", "type": "string", "const": "pixi-build" }, { "type": "string" } ] } }, { "type": "boolean" } ] }, "pypi-options": { "$ref": "#/$defs/PyPIOptions", "description": "Options related to PyPI indexes for this project" }, "readme": { "title": "Readme", "description": "The path to the readme file of the project", "type": "string", "pattern": "^[^\\\\]+$" }, "repository": { "title": "Repository", "description": "The URL of the repository of the project", "type": "string", "format": "uri", "minLength": 1 }, "requires-pixi": { "title": "Requires-Pixi", "description": "The required version spec for pixi itself to resolve and build the project.", "type": "string", "minLength": 1, "examples": [ ">=0.40" ] }, "s3-options": { "title": "S3-Options", "description": "Options related to S3 for this project", "type": "object", "additionalProperties": { "$ref": "#/$defs/S3Options" } }, "solve-strategy": { "$ref": "#/$defs/SolveStrategy", "description": "The strategy that is used in the solve.\n- 'highest': solve all packages to the highest compatible version.\n- 'lowest': solve all packages to the lowest compatible version.\n- 'lowest-direct': solve direct dependencies to the lowest compatible version and transitive ones to the highest compatible version.", "examples": [ "lowest", "lowest-direct", "highest" ] }, "target": { "title": "Target", "description": "The workspace targets", "type": "object", "additionalProperties": { "$ref": "#/$defs/WorkspaceTarget" }, "propertyNames": { "minLength": 1 } }, "version": { "title": "Version", "description": "The version of the project; we advise use of [SemVer](https://semver.org)", "type": "string", "minLength": 1, "examples": [ "1.2.3" ] } } }, "WorkspaceInheritance": { "title": "WorkspaceInheritance", "description": "Indicates that a field should inherit its value from the workspace.", "type": "object", "required": [ "workspace" ], "additionalProperties": false, "properties": { "workspace": { "title": "Workspace", "description": "Must be true to inherit from workspace", "type": "boolean", "const": true } } }, "WorkspaceTarget": { "title": "WorkspaceTarget", "description": "Target-specific configuration for a workspace", "type": "object", "additionalProperties": false, "properties": { "build-variants": { "title": "Build-Variants", "description": "The build variants for this workspace target", "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "propertyNames": { "minLength": 1 } } } } } }