@deathbeds/wxyz-json-schema-form

experimental Jupyter widgets for JSON Schema Form

Usage no npm install needed!

<script type="module">
  import deathbedsWxyzJsonSchemaForm from 'https://cdn.skypack.dev/@deathbeds/wxyz-json-schema-form';
</script>

README

@deathbeds/wxyz-json-schema-form

pypi-badge npm-badge [docs-badge]

experimental Jupyter widgets for JSON Schema Form

If you just want to use @deathbeds/wxyz-json-schema-form in JupyterLab 3

pip install wxyz_json_schema_form  # or conda, or mamba

Developer Installation

The public API of the widgets in @deathbeds/wxyz-json-schema-form are not yet fully documented. However, it's likely that you can:

jlpm add @deathbeds/wxyz-json-schema-form

and then, in your widget extension:

import wxyz from '@deathbeds/wxyz-json-schema-form';

console.log(wxyz); // and see _something_

Legacy Installation (Pre-JupyterLab 2)

This approach is no longer recommended, and is not tested

Prerequisites:

  • python >=3.7
  • nodejs >=12
  • jupyterlab >=3,<4
jupyter labextension install @jupyter-widgets/jupyterlab-manager @deathbeds/wxyz-core @deathbeds/wxyz-json-schema-form
pip install wxyz_json_schema_form

wxyz

Experimental Widgets for JupyterLab.

build demo docs
build-badge binder-badge DOCSEXAMPLESCHANGELOGCONTRIBUTING

Install and Use

pip or conda install W from wxyz.Y import Z powered by
wxyz_core core JSON
UnJSON
jsonpointer
jsonschema
wxyz_datagrid datagrid DataGrid
GridStyle
SelectGrid
StyleGrid
pandas
wxyz_core
wxyz_html html AlphaColorPicker
File
FileBox
FullScreen
JSONFile
TextFile
wxyz_core
wxyz_dvcs dvcs repos.repo_git.Git
Watcher
gitpython
watchgod
wxyz_core
wxyz_json_e json_e JSONE jsone
wxyz_core
wxyz_json_schema_form json_schema_form JSONSchemaForm wxyz_core
wxyz_jsonld jsonld Compact
Expand
Flatten
Frame
Normalize
pyld
wxyz_core
wxyz_lab lab DockBox
DockPop
Editor
Markdown
Terminal
ModeInfo
jupyterlab
wxyz_core
wxyz_svg svg SVGBox wxyz_core
wxyz_tpl_jinja tpl_jinja Template jinja2
wxyz_core
wxyz_yaml yaml YAML pyyaml
wxyz_core

Strongly Discouraged

wxyz_notebooks, not recommended for production use, requires all of the wxyz_* packages.

Some extra(s) dangerous dependencies are available as well

pip install wxyz_notebooks              # wxyz_*
pip install wxyz_notebooks[binder]      # everything used on binder demos, used in tests
pip install wxyz_notebooks[thirdparty]  # some casually co-tested third-party packages
pip install wxyz_notebooks[all]         # everything. it's a lot. good luck.

It is unknown whether the heavier dependencies will continue to work in the future and may carry very specific version pins which might not be solveable with any old:

  • operating system
  • version of python
  • package manager

Motivation

wxyz contains a number of "missing pieces" from the ipywidgets toolbox. It is made up of a number of packages for Python and the browser, in this repo. While many create pixels on the page, some are focused around configurably transforming the traitlets of one widget to another, in the kernel, the browser or both.

Uninstall

We're sad to see you go!

Use pip or conda to uninstall any wxyz_* packages.

Alternatives

If you don't like wxyz, that's fine! There are a number of related tools that might be better suited to your needs.

  • formulas
    • a python-side re-implementation of an Excel/LibreOffice reactive functional programming model
  • ipyevents
    • fine-grained DOM event control
  • ipylab
    • a number of similar utilities as parts of wxyz.lab, and nice support for commands, and additional lumino primitives, e.g. SplitPanel
  • ipyregulartable
    • a high-performance datagrid solution, supporting pandas MultiIndex-type data
  • jupyter-starters
    • wizard-style project templates, driven by simple configuration, JSON Schema or notebooks
  • jupyterlab-tour
    • a pleasant "guided tour" of JupyterLab via CSS selectors and JSON Schema