A client for ReactPy implemented using Jupyter widgets
Check out some live examples by clicking the badge below:
To install use pip:
pip install reactpy_jupyter Once you're done getting started, you can author and display ReactPy layouts natively in your Jupyter Notebook:
importreactpy@reactpy.componentdefClickCount(): count, set_count=reactpy.hooks.use_state(0) returnreactpy.html.button({"onClick": lambdaevent: set_count(count+1)}, [f"Click count: {count}"], ) ClickCount()You can also turn an reactpy element constructor into one that returns an ipywidget with the reactpy_juptyer.to_widget function. This is useful if you wish to use ReactPy in combination with other Jupyter Widgets as in the following example:
ClickCountWidget=reactpy_jupyter.to_widget(ClickCount) ipywidgets.Box( [ ClickCountWidget(), ClickCountWidget(), ] )For a more detailed introduction check out this live demo here:
For a development installation (requires Node.js and Yarn version 1),
$ git clone https://github.com/reactive-python/reactpy-jupyter.git $ cd reactpy-jupyter $ pip install -e . To automatically re-build and refresh Jupyter when making changes start a Vite dev server:
$ npx vite Then, before importing reactpy_jupyter set the following environment variable:
importosos.environ["REACTPY_JUPYTER_DEV"] ="1"importreactpy_jupyter