{"id":15013049,"url":"https://github.com/iterative/dvcyaml-schema","last_synced_at":"2025-04-12T04:20:54.700Z","repository":{"id":40686336,"uuid":"272749373","full_name":"iterative/dvcyaml-schema","owner":"iterative","description":"Schema for dvc.yaml","archived":false,"fork":false,"pushed_at":"2025-04-07T18:23:08.000Z","size":78,"stargazers_count":13,"open_issues_count":4,"forks_count":2,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-10T10:44:34.809Z","etag":null,"topics":["dvc","dvc-yaml","jsonschema"],"latest_commit_sha":null,"homepage":"https://dvc.org/doc/user-guide/project-structure/dvcyaml-files","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iterative.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-16T15:48:23.000Z","updated_at":"2025-03-15T02:49:08.000Z","dependencies_parsed_at":"2023-12-25T20:32:43.180Z","dependency_job_id":"f998a6f5-7ad3-495c-96fc-7c74ebeea571","html_url":"https://github.com/iterative/dvcyaml-schema","commit_stats":{"total_commits":43,"total_committers":12,"mean_commits":"3.5833333333333335","dds":0.6976744186046512,"last_synced_commit":"8ceb90272164192997a7edaf7bd80aafdca6d7ad"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iterative%2Fdvcyaml-schema","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iterative%2Fdvcyaml-schema/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iterative%2Fdvcyaml-schema/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iterative%2Fdvcyaml-schema/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iterative","download_url":"https://codeload.github.com/iterative/dvcyaml-schema/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248514395,"owners_count":21116952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dvc","dvc-yaml","jsonschema"],"created_at":"2024-09-24T19:43:39.724Z","updated_at":"2025-04-12T04:20:54.673Z","avatar_url":"https://github.com/iterative.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dvcyaml-schema\n\n[JSON Schema](https://json-schema.org/) for [`dvc.yaml`](https://dvc.org/doc/user-guide/dvc-files-and-directories#dvcyaml-file) file format, generated using [Pydantic](https://docs.pydantic.dev/latest/).\n\nIt can provide better autocompletion, validation, and linting for `dvc.yaml` files.\n\n## Usage\n\n#### Visual Studio Code (with [YAML Extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml)):\n\nIf you have installed the  [YAML Extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml), it will automatically fetch the latest `dvc.yaml` schema, and work out of the box.\n\nAlternatively, you can explicitly configure it by adding the following to your settings:\n\n```json\n{\n  \"yaml.schemas\": {\n    \"https://raw.githubusercontent.com/iterative/dvcyaml-schema/master/schema.json\":\n        \"dvc.yaml\"\n  }\n}\n```\n\nYou can also specify custom URL or path instead for debugging/testing purposes.\n\n#### JetBrain IDEs (PyCharm, Intellij IDEA, et al.)\n\nJetBrain IDEs automatically fetch the latest `dvc.yaml` schema and should work without additional setup.\n\nIf you're using an older version or encounter any issues, refer to this [guide](https://www.jetbrains.com/help/ruby/yaml.html#remote_json) for assistance.\n\n#### Other Editors\n\n`dvc.yaml` schema is available in [JSON Schema Store](https://www.schemastore.org/json/), so it will be pulled automatically in editors that support it\nnatively or through plugins.\n\nTo add it manually, use the following URL to obtain the latest JSON schema for `dvc.yaml`:\n\n```\nhttps://raw.githubusercontent.com/iterative/dvcyaml-schema/master/schema.json\n```\n\nCheck the documentation of your specific editor or IDE for details on how to configure schemas.\n\n### Important Files:\n\n1. **[schema.json](schema.json)**\n2. [gen.py](gen.py)\n3. [examples](examples)\n4. [tests.py](tests.py)\n\n### Contributing\n\n1. Setup your environment (you'll need `python3.10+` and `pip`).\n    ```console\n    $ python3 -m venv .venv\n    $ source .venv/bin/activate\n    $ pip install -r requirements.txt\n    $ pre-commit install\n    ```\n2. Generate the schema.\n\n   The schema is generated using [Pydantic](https://docs.pydantic.dev/latest/) through the [gen.py](gen.py) script. You can make adjustments to the script as needed.\n\n   To manually generate the schema, run:\n    ```console\n    $ ./gen.py schema.json\n    ```\n\n3. (Optional) Add [valid](examples/valid) and [invalid](examples/invalid) yaml examples.\n4. Run tests using:\n    ```console\n    $ pytest\n    ```\n5. Git-add the changes and then commit. `pre-commit` hook should run automatically and format/lint code, regenerate new schema, and run tests.\n    ```console\n    $ git add -p\n    $ git commit -m \"\u003cmessage\u003e\"\n    ```\n\n    If the hook makes additional changes, stage them and attempt the commit again.\n\n6. Send us a pull request. 🤗\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiterative%2Fdvcyaml-schema","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiterative%2Fdvcyaml-schema","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiterative%2Fdvcyaml-schema/lists"}