mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
* schema: provide a jsonschema for dvc.yaml * Update scripts/schema/dvc-yaml.json Co-authored-by: Ruslan Kuprieiev <[email protected]> * Update scripts/schema/dvc-yaml.json Co-authored-by: Ruslan Kuprieiev <[email protected]>
228 lines
6.4 KiB
JSON
228 lines
6.4 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$comment": "v0.1.0",
|
|
"title": "Pipeline Schema",
|
|
"description": "A dvc.yaml pipeline definition",
|
|
"type": "object",
|
|
"definitions": {
|
|
"OutputFlags": {
|
|
"type": "object",
|
|
"description": "Output file with more flags",
|
|
"properties": {
|
|
"cache": {
|
|
"description": "Cache outputs by dvc",
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"persist": {
|
|
"description": "Persist outputs among runs",
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"PlotFlags": {
|
|
"description": "Plots file with more flags",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/OutputFlags"
|
|
}
|
|
],
|
|
"$comment": "Unfortunately, 'additionalProperties' only works props in immediate schema.",
|
|
"properties": {
|
|
"cache": {},
|
|
"persist": {},
|
|
"x": {
|
|
"description": "Default field name to use as x-axis data",
|
|
"type": [
|
|
"string",
|
|
"integer"
|
|
]
|
|
},
|
|
"y": {
|
|
"description": "Default field name to use as y-axis data",
|
|
"type": [
|
|
"string",
|
|
"integer"
|
|
]
|
|
},
|
|
"x_label": {
|
|
"description": "Default label for the x-axis",
|
|
"type": "string"
|
|
},
|
|
"y_label": {
|
|
"description": "Default label for the y-axis",
|
|
"type": "string"
|
|
},
|
|
"template": {
|
|
"description": "Default plot template",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"description": "Default plot title",
|
|
"type": "string"
|
|
},
|
|
"header": {
|
|
"description": "The target CSV or TSV has a header",
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"Output": {
|
|
"description": "An output of the stage",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"description": "Output will be cached by dvc"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"description": "Output file",
|
|
"patternProperties": {
|
|
"^.*$": {
|
|
"$ref": "#/definitions/OutputFlags",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"maxProperties": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"properties": {
|
|
"stages": {
|
|
"description": "List of stages.",
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^[A-Za-z0-9_-]+$": {
|
|
"description": "The stage",
|
|
"type": "object",
|
|
"properties": {
|
|
"cmd": {
|
|
"type": "string",
|
|
"description": "Command to run"
|
|
},
|
|
"wdir": {
|
|
"type": "string",
|
|
"description": "Working directory"
|
|
},
|
|
"deps": {
|
|
"type": "array",
|
|
"description": "Dependencies for the stage",
|
|
"items": {
|
|
"type": "string",
|
|
"description": "A dependency for the stage"
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"params": {
|
|
"type": "array",
|
|
"description": "Params for the stage",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"description": "Params from default params file"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"description": "Params from custom params file",
|
|
"patternProperties": {
|
|
"^.*$": {
|
|
"type": "array",
|
|
"description": "Custom params file",
|
|
"items": {
|
|
"type": "string",
|
|
"description": "Params from custom file"
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"maxProperties": 1
|
|
}
|
|
]
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"outs": {
|
|
"type": "array",
|
|
"description": "Outputs of the stage",
|
|
"items": {
|
|
"$ref": "#/definitions/Output"
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"metrics": {
|
|
"type": "array",
|
|
"description": "Metrics outputs of the stage",
|
|
"items": {
|
|
"$ref": "#/definitions/Output"
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"plots": {
|
|
"type": "array",
|
|
"description": "Plots outputs of the stage",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"description": "Plots will be cached by dvc"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"description": "Output file",
|
|
"patternProperties": {
|
|
"^.*$": {
|
|
"$ref": "#/definitions/PlotFlags"
|
|
}
|
|
},
|
|
"maxProperties": 1
|
|
}
|
|
]
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"frozen": {
|
|
"type": "boolean",
|
|
"description": "Assume stage as unchanged",
|
|
"default": false
|
|
},
|
|
"locked": {
|
|
"type": "boolean",
|
|
"description": "Assume stage as unchanged (deprecated)",
|
|
"default": false
|
|
},
|
|
"always_changed": {
|
|
"type": "boolean",
|
|
"description": "Assume stage as always changed.",
|
|
"default": false
|
|
},
|
|
"meta": {
|
|
"description": "Additional information/metadata"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"cmd"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"stages"
|
|
]
|
|
}
|