This project allows you to generate Jupyter widgets from schemas that follow the JSONSchema specification. If you already have a schema available, creating a widget form for it is as simple as this:
from ipywidgets_jsonschema import Form
form = Form(schema)
form.show()
The data can then be retrieved from form by accessing form.data.
These are the core features:
- Generation of
ipywidgetswidgets for all basic types - Read and write access to the current document state
ipywidgets-jsonschema can be installed with pip:
python -m pip install ipywidgets-jsonschema
Alternatively, you can get it from conda-forge:
conda install -c conda-forge ipywidgets-jsonschema
- Some aspects of the JSON Schema specification are hard to implement in
a form generator and are therefore omitted e.g.
- The
allOfandnotrules for schema composition are only partially or not at all supported. - Media types
- There is only rudimentary support for conditional subschemas (like
if-then-else)
- The
- Some annotations that are purely optional in the specification are required
for the schema to be usable with
ipywidgets-jsonschemae.g. atitlefield when the resulting widget would otherwise not be self-explanatory.
