1.1.0 • Published 2 years ago

@deathbeds/jupyterlab-rjsf v1.1.0

Weekly downloads
12
License
BSD-3-Clause
Repository
github
Last release
2 years ago

jupyterlab-rjsf

React JSON Schema Form for JupyterLab

For users: Do I need to install this?

For now, this project just provides some "glue" to be used by other JupyterLab extensions, and other labextensions that use it should specify it as a dependency so it will be installed for you, if needed.

A follow-on release will add more tightly-integrated Document (a la Notebook) with a MimeRenderer for working with JSON instances, JSON Schema, and `rjsf''s UI Schema, with support for alternate encodings like YAML and JSONL. See more in the roadmap.

Related Projects

Things you can jupyter labextension install to use this component:

  • @deathbeds/jupyterlab-starters uses this component in a sidebar to render things like cookiecutters and notebooks before making templated files

    • the tests for this component are also mostly contained in this repo, for now
  • @deathbeds/wxyz uses an earlier version of this component to connect a JSON Schema to the broader Jupyter Widgets ecosystem, but also works with other wxyz widgets without a "server" kernel.

For Developers

JupyterLab Extensions

Use the SchemaForm, a @lumino/widget that you can put inside of any other widget (such as the DockPanel). It's model exposes the schema, formData, other rjsf specifics, and can be connected to with model.stateChanged.

React

Several underlying libraries are used from the broader React ecosystem.

rjsf in particular has a large pending release (2.x), so some APIs are subject to change abruptly in the near future.

TBD: more info on async-component, and rjsf-specifics like jsonobject and codemirror, Form and Theme

Roadmap

  • MimeRenderer
  • Document
    • JSON Instance as form
    • JSON Schema as form?
    • rjsf UI schema
    • formatting
    • rjsf 2.x
  • additional extension points
    • readers e.g. YAML, JSONL, TOML
  • explore additional form libraries, e.g. formik