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
ipywidgets
widgets 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
allOf
andnot
rules 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-jsonschema
e.g. atitle
field when the resulting widget would otherwise not be self-explanatory.