jupyter / enhancement-proposals

Enhancement proposals for the Jupyter Ecosystem
https://jupyter.org/enhancement-proposals
BSD 3-Clause "New" or "Revised" License
115 stars 65 forks source link

Pre-proposal: subdomain for published schemas under jupyter.org #107

Closed Zsailer closed 1 year ago

Zsailer commented 1 year ago

(Following the JEP submission workflow described here, but there's been a substantial amount of discussion already around this idea.)

I'm drafting a JEP to propose a new subdomain under jupyter.org, e.g. schema.jupyter.org, where we can publish json schemas describing key components, APIs, and data files defined across Project Jupyter. Examples include event schemas, kernel specification, connection file specification, kernel messaging specification, notebook file format specification, and the Jupyter Server and JupyterHub REST APIs.

Publishing these as JSON schemas ensures that we explicitly publish our "contracts" to the community and enables us to write tooling that helps others validate their code against our schemas.

Key pieces that might be included in this JEP:

I'm planning to submit this JEP this week, but starting the pre-proposal process here.

bollwyvl commented 1 year ago

Very much in favor of moving this forward.

As mentioned elsewhere: I feel like the repo that drives this (and feel like it should be one repo, even if it submodules in "canonical" sources of schema) should also drive the publishing of installable packages, with a selection of:

The above should also generate (and validate) per-PR interlinked human-readable docs, which can then expose something that other docs sites can reference (e.g. objects.inv), such as provided by:

By keeping them together, we can maintain:

Zsailer commented 1 year ago

@bollwyvl do you mind if I copy these points to the JEP and add you as a co-author (want to make sure I give credit where credit is due!).

Zsailer commented 1 year ago

I've got a working draft here: https://hackmd.io/@eesn0xIhTWeoLTbVbbhpdA/ByfCRmV72/edit

Zsailer commented 1 year ago

Woohoo! Thank you, @bollwyvl and @tonyfast for all the amazing work on developing a first draft of this proposal!! I'm opening the PR now 😎

bollwyvl commented 1 year ago

Thanks! We started noodling on some of those ideas in greater anger in the "Future of Notebooks" workshop and the attendant "Cells from the Future" weekly. As the terminating output of that call would be rather... sweeping... having a more structured place than this narrative-based repo would be super helpful.

There's a lot of opportunity/risk for scope creep on this, but in the end, it's probably for the best, but I didn't want to put all of the ideas into that JEP. Once we've got our feet under us, building packages (which i kind of feel is really the "final exam" of that JEP) there's probably a whole raft of things that can be further formalized, but were out of scope for that document.

Zsailer commented 1 year ago

We merged this in #108. Closing here.