A client for IDOM implemented using Jupyter widgets
Project description
idom-jupyter
A client for IDOM implemented using Jupyter widgets
Try It Now!
Check out some live examples by clicking the badge below:
Getting Started
To install use pip
:
pip install idom_jupyter
Then, before anything else, do one of the following:
-
At the top of your notebook run
import idom_jupyter
-
Register
idom_jupyter
as a permanant IPython extension in your config file:c.InteractiveShellApp.extensions = [ 'idom_jupyter' ]
Usage
Once you're done getting started, you can author and display IDOM layouts natively in your Jupyter Notebook:
import idom
@idom.component
def ClickCount():
count, set_count = idom.hooks.use_state(0)
return idom.html.button(
{"onClick": lambda event: set_count(count + 1)},
[f"Click count: {count}"],
)
ClickCount()
You can also turn an idom
element constructor into one that returns an ipywidget
with
the idom_juptyer.widgetize
function. This is useful if you wish to use IDOM in combination
with other Jupyter Widgets as in the following example:
ClickCountWidget = idom_jupyter.widgetize(ClickCount)
ipywidgets.Box(
[
ClickCountWidget(),
ClickCountWidget(),
]
)
Alternatively just wrap an idom
element instance in an idom_jupyter.LayoutWidget
:
ipywidgets.Box(
[
idom_jupyter.LayoutWidget(ClickCount()),
idom_jupyter.LayoutWidget(ClickCount()),
]
)
For a more detailed introduction check out this live demo here:
Development Installation
For a development installation (requires Node.js and Yarn version 1),
$ git clone https://github.com/idom-team/idom-jupyter.git
$ cd idom-jupyter
$ pip install -e .
$ jupyter nbextension install --py --symlink --overwrite --sys-prefix idom_jupyter
$ jupyter nbextension enable --py --sys-prefix idom_jupyter
When actively developing your extension for JupyterLab, run the command:
$ jupyter labextension develop --overwrite idom_jupyter
Then you need to rebuild the JS when you make a code change:
$ cd js
$ yarn run build
You then need to refresh the JupyterLab page when your javascript changes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for idom_jupyter-0.7.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2af11083de1d9147290318c029f22b20d407300aab2a9db59b521725f271923a |
|
MD5 | 43c37dfb11fba857a082b093fe9f9c86 |
|
BLAKE2b-256 | 64d9803b88eb01e8dcd9d0597a3453e27221545e619a1ad1073008c68653bb64 |