diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index cac63294cb8..edebef13c84 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -1570,6 +1570,12 @@ "fileMatch": ["**/jobs/**/*.dy.yaml"], "url": "https://raw.githubusercontent.com/datayoga-io/datayoga/main/schemas/job.schema.json" }, + { + "name": "dbt-bouncer", + "description": "dbt-bouncer configuration file for enforcing conventions in dbt projects", + "fileMatch": ["dbt-bouncer.yml", "dbt-bouncer.yaml"], + "url": "https://raw.githubusercontent.com/godatadriven/dbt-bouncer/main/schema.json" + }, { "name": "dbt Dependencies", "description": "dbt's dependencies.yml file for external packages and cross-project refs", @@ -5011,6 +5017,12 @@ "fileMatch": ["pixi.toml"], "url": "https://raw.githubusercontent.com/prefix-dev/pixi/main/schema/schema.json" }, + { + "name": "partial-pixi.json", + "description": "Pixi configuration for pyproject.toml", + "fileMatch": [], + "url": "https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/partial-pixi.json" + }, { "name": ".pmbot.yml", "description": "Pmbot configuration file", diff --git a/src/schema-validation.jsonc b/src/schema-validation.jsonc index 865f872b5b0..229dddf0810 100644 --- a/src/schema-validation.jsonc +++ b/src/schema-validation.jsonc @@ -1182,6 +1182,7 @@ "partial-mypy.json", "partial-pdm.json", "partial-pdm-dockerize.json", + "partial-pixi.json", "partial-poe.json", "partial-poetry.json", "partial-pyright.json", @@ -1237,6 +1238,7 @@ "partial-mypy.json", "partial-pdm.json", "partial-pdm-dockerize.json", + "partial-pixi.json", "partial-poe.json", "partial-poetry.json", "partial-pyright.json", diff --git a/src/schemas/json/partial-pixi.json b/src/schemas/json/partial-pixi.json new file mode 100644 index 00000000000..484009ead75 --- /dev/null +++ b/src/schemas/json/partial-pixi.json @@ -0,0 +1,2550 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://json.schemastore.org/partial-pixi.json", + "$comment": "Generated from `pixi` v0.66.0", + "$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", + "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." + } + } + } + }, + "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." + } + } + } + }, + "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", + "pattern": "^[^\\s\\$]+$" + } + ] + } + }, + { + "$ref": "#/$defs/DependsOn" + }, + { + "description": "A valid task name.", + "type": "string", + "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", + "pattern": "^[^\\s\\$]+$" + } + }, + { + "description": "A valid task name.", + "type": "string", + "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 + } + } + } + } + }, + "title": "`[tool.pixi]` for `pyproject.toml`", + "description": "The `[tool.pixi]` section of a `pyproject.toml`.", + "type": "object", + "properties": { + "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." + } + }, + "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" + } + } +} diff --git a/src/schemas/json/pyproject.json b/src/schemas/json/pyproject.json index 7c10dd3a4e9..cf25f47b040 100644 --- a/src/schemas/json/pyproject.json +++ b/src/schemas/json/pyproject.json @@ -1012,6 +1012,11 @@ "title": "Version Manager", "description": "Manage Python package versions using SCM (e.g. Git)." }, + "pixi": { + "$ref": "https://json.schemastore.org/partial-pixi.json", + "title": "Package Manager and Task Runner", + "description": "A package manager and task runner." + }, "poe": { "$ref": "https://json.schemastore.org/partial-poe.json", "title": "Task Runner", diff --git a/src/schemas/json/tox.json b/src/schemas/json/tox.json index 819d3eb98ef..fb6cb97fb74 100644 --- a/src/schemas/json/tox.json +++ b/src/schemas/json/tox.json @@ -497,6 +497,10 @@ }, "description": "the commands to be called after testing" }, + "interrupt_post_commands": { + "type": "boolean", + "description": "run commands_post even after interrupt (SIGINT), allow second interrupt to cancel" + }, "recreate_commands": { "type": "array", "items": { diff --git a/src/schemas/json/uv.json b/src/schemas/json/uv.json index d7599f3ec6a..efe8e6ff12a 100644 --- a/src/schemas/json/uv.json +++ b/src/schemas/json/uv.json @@ -179,7 +179,7 @@ "description": "Limit candidate packages to those that were uploaded prior to the given date.\n\nAccepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), a \"friendly\" duration (e.g.,\n`24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, `P7D`, `P30D`).\n\nDurations do not respect semantics of the local time zone and are always resolved to a fixed\nnumber of seconds assuming that a day is 24 hours (e.g., DST transitions are ignored).\nCalendar units such as months and years are not allowed.", "anyOf": [ { - "$ref": "#/definitions/ExcludeNewerTimestamp" + "$ref": "#/definitions/ExcludeNewerValue" }, { "type": "null" @@ -244,6 +244,28 @@ } ] }, + "http-proxy": { + "description": "The URL of the HTTP proxy to use.", + "anyOf": [ + { + "$ref": "#/definitions/ProxyUrl" + }, + { + "type": "null" + } + ] + }, + "https-proxy": { + "description": "The URL of the HTTPS proxy to use.", + "anyOf": [ + { + "$ref": "#/definitions/ProxyUrl" + }, + { + "type": "null" + } + ] + }, "index": { "description": "The indexes to use when resolving dependencies.\n\nAccepts either a repository compliant with [PEP 503](https://peps.python.org/pep-0503/)\n(the simple repository API), or a local directory laid out in the same format.\n\nIndexes are considered in the order in which they're defined, such that the first-defined\nindex has the highest priority. Further, the indexes provided by this setting are given\nhigher priority than any indexes specified via [`index_url`](#index-url) or\n[`extra_index_url`](#extra-index-url). uv will only consider the first index that contains\na given package, unless an alternative [index strategy](#index-strategy) is specified.\n\nIf an index is marked as `explicit = true`, it will be used exclusively for the\ndependencies that select it explicitly via `[tool.uv.sources]`, as in:\n\n```toml\n[[tool.uv.index]]\nname = \"pytorch\"\nurl = \"https://download.pytorch.org/whl/cu121\"\nexplicit = true\n\n[tool.uv.sources]\ntorch = { index = \"pytorch\" }\n```\n\nIf an index is marked as `default = true`, it will be moved to the end of the prioritized list, such that it is\ngiven the lowest priority when resolving packages. Additionally, marking an index as default will disable the\nPyPI default index.", "type": ["array", "null"], @@ -286,7 +308,7 @@ ] }, "link-mode": { - "description": "The method to use when installing packages from the global cache.\n\nDefaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and\nWindows.\n\nWARNING: The use of symlink link mode is discouraged, as they create tight coupling between\nthe cache and the target environment. For example, clearing the cache (`uv cache clean`)\nwill break all installed packages by way of removing the underlying source files. Use\nsymlinks with caution.", + "description": "The method to use when installing packages from the global cache.\n\nDefaults to `clone` (also known as Copy-on-Write) on macOS and Linux, and `hardlink` on\nWindows.\n\nWARNING: The use of symlink link mode is discouraged, as they create tight coupling between\nthe cache and the target environment. For example, clearing the cache (`uv cache clean`)\nwill break all installed packages by way of removing the underlying source files. Use\nsymlinks with caution.", "anyOf": [ { "$ref": "#/definitions/LinkMode" @@ -345,10 +367,24 @@ "description": "Ignore all registry indexes (e.g., PyPI), instead relying on direct URL dependencies and\nthose provided via `--find-links`.", "type": ["boolean", "null"] }, + "no-proxy": { + "description": "A list of hosts to exclude from proxying.", + "type": ["array", "null"], + "items": { + "type": "string" + } + }, "no-sources": { "description": "Ignore the `tool.uv.sources` table when resolving dependencies. Used to lock against the\nstandards-compliant, publishable package metadata, as opposed to using any local or Git\nsources.", "type": ["boolean", "null"] }, + "no-sources-package": { + "description": "Ignore `tool.uv.sources` for the specified packages.", + "type": ["array", "null"], + "items": { + "$ref": "#/definitions/PackageName" + } + }, "offline": { "description": "Disable network access, relying only on locally cached data and locally available files.", "type": ["boolean", "null"] @@ -772,10 +808,10 @@ "ExcludeNewerPackage": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/ExcludeNewerTimestamp" + "$ref": "#/definitions/PackageExcludeNewer" } }, - "ExcludeNewerTimestamp": { + "ExcludeNewerValue": { "description": "Exclude distributions uploaded after the given timestamp.\n\nAccepts both RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`) and local dates in the same format (e.g., `2006-12-02`), as well as relative durations (e.g., `1 week`, `30 days`, `6 months`). Relative durations are resolved to a timestamp at lock time.", "type": "string" }, @@ -1016,24 +1052,25 @@ ] }, "LinkMode": { + "description": "The method to use when linking.\n\nDefaults to [`Clone`](LinkMode::Clone) on macOS and Linux (which support copy-on-write on\nAPFS and btrfs/xfs/bcachefs respectively), and [`Hardlink`](LinkMode::Hardlink) on other\nplatforms.", "oneOf": [ { - "description": "Clone (i.e., copy-on-write) packages from the wheel into the `site-packages` directory.", + "description": "Clone (i.e., copy-on-write) packages from the source into the destination.", "type": "string", "const": "clone" }, { - "description": "Copy packages from the wheel into the `site-packages` directory.", + "description": "Copy packages from the source into the destination.", "type": "string", "const": "copy" }, { - "description": "Hard link packages from the wheel into the `site-packages` directory.", + "description": "Hard link packages from the source into the destination.", "type": "string", "const": "hardlink" }, { - "description": "Symbolically link packages from the wheel into the `site-packages` directory.", + "description": "Symbolically link packages from the source into the destination.", "type": "string", "const": "symlink" } @@ -1066,6 +1103,18 @@ "$ref": "#/definitions/ConfigSettings" } }, + "PackageExcludeNewer": { + "oneOf": [ + { + "description": "Disable exclude-newer for this package.", + "type": "boolean", + "const": false + }, + { + "$ref": "#/definitions/ExcludeNewerValue" + } + ] + }, "PackageName": { "description": "The normalized name of a package.\n\nConverts the name to lowercase and collapses runs of `-`, `_`, and `.` down to a single `-`.\nFor example, `---`, `.`, and `__` are all converted to a single `-`.\n\nSee: ", "type": "string" @@ -1176,7 +1225,7 @@ "description": "Limit candidate packages to those that were uploaded prior to a given point in time.\n\nAccepts a superset of [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html) (e.g.,\n`2006-12-02T02:07:43Z`). A full timestamp is required to ensure that the resolver will\nbehave consistently across timezones.", "anyOf": [ { - "$ref": "#/definitions/ExcludeNewerTimestamp" + "$ref": "#/definitions/ExcludeNewerValue" }, { "type": "null" @@ -1293,7 +1342,7 @@ ] }, "link-mode": { - "description": "The method to use when installing packages from the global cache.\n\nDefaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and\nWindows.\n\nWARNING: The use of symlink link mode is discouraged, as they create tight coupling between\nthe cache and the target environment. For example, clearing the cache (`uv cache clean`)\nwill break all installed packages by way of removing the underlying source files. Use\nsymlinks with caution.", + "description": "The method to use when installing packages from the global cache.\n\nDefaults to `clone` (also known as Copy-on-Write) on macOS and Linux, and `hardlink` on\nWindows.\n\nWARNING: The use of symlink link mode is discouraged, as they create tight coupling between\nthe cache and the target environment. For example, clearing the cache (`uv cache clean`)\nwill break all installed packages by way of removing the underlying source files. Use\nsymlinks with caution.", "anyOf": [ { "$ref": "#/definitions/LinkMode" @@ -1359,6 +1408,13 @@ "description": "Ignore the `tool.uv.sources` table when resolving dependencies. Used to lock against the\nstandards-compliant, publishable package metadata, as opposed to using any local or Git\nsources.", "type": ["boolean", "null"] }, + "no-sources-package": { + "description": "Ignore `tool.uv.sources` for the specified packages.", + "type": ["array", "null"], + "items": { + "$ref": "#/definitions/PackageName" + } + }, "no-strip-extras": { "description": "Include extras in the output file.\n\nBy default, uv strips extras, as any packages pulled in by the extras are already included\nas dependencies in the output file directly. Further, output files generated with\n`--no-strip-extras` cannot be used as constraints files in `install` and `sync` invocations.", "type": ["boolean", "null"] @@ -1522,6 +1578,11 @@ } ] }, + "ProxyUrl": { + "description": "A proxy URL (e.g., `http://proxy.example.com:8080`).", + "type": "string", + "format": "uri" + }, "PythonDownloads": { "oneOf": [ { @@ -1634,7 +1695,8 @@ ], "default": null } - } + }, + "additionalProperties": false }, "SchemaConflictSet": { "description": "Like [`ConflictSet`], but for deserialization in `pyproject.toml`.\n\nThe schema format is different from the in-memory format. Specifically, the\nschema format does not allow specifying the package name (or will make it\noptional in the future), where as the in-memory format needs the package\nname.", @@ -2338,6 +2400,16 @@ "type": "string", "const": "cu80" }, + { + "description": "Use the PyTorch index for ROCm 7.1.", + "type": "string", + "const": "rocm7.1" + }, + { + "description": "Use the PyTorch index for ROCm 7.0.", + "type": "string", + "const": "rocm7.0" + }, { "description": "Use the PyTorch index for ROCm 6.4.", "type": "string",