Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is trying out a few experiments on tooling, and adding a few more example schemas. It is based on top of #1 so ideally that would be merged and this rebased on top of
main
.There is a kernel spec schema based on jupyter/enhancement-proposals#105 and a couple of kernel message schemas so that we have one schema reusing another, but I don't think I have the
$ref
between the two working yet. The schema names follow that outlined in #2.There is some
pytest
testing that validates each of the schemas against the meta schema (2020-12 Draft) and also checks that the directory and schema names are consistent and so on. There is a simple sphinx build (pip install .; cd docs; make html
) of a single schema showing it rendered usingsphinx-jsonschema
and also in JSON, TOML and YAML formats. I we are going to allow submission of new schemas in those formats then we need to be able to display existing schemas in those formats to inform the user. The contents are hardcoded now but would be dynamically generated for each of the schemas in the repo. Thesphinx-jsonschema
output isn't excellent (it omitsif-then
clauses for example). TOML is also problematic as thedump
functionality in toml reorders the elements so that theif
andwhen
are not longer in the correct order, so we would have to override the output-ordering of the toml writer.schema.webm
Some of this is different to that proposed in #3 but 🤷.