reacton
Decision gist · record as of 2026-08-14
Yes. Reacton is actively maintained, has no security vulnerabilities, and installs with minimal friction. If you build interactive Jupyter UIs with ipywidgets and find manual event handling and state tracking error-prone, Reacton's React-like model will reduce bugs and code repetition. Start with the provided examples to evaluate whether the component paradigm fits your workflow.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with only two runtime dependencies (ipywidgets and typing-extensions).
- The package is actively maintained with a recent release and no known vulnerabilities, making it straightforward to add to existing Jupyter environments.
License · maintenance · safety
permissive license (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both personal and commercial projects without licensing concerns.
last release 2026-07-07 (38 days) · last repo commit 2026-07-10 · 317 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 144,048 downloads/mo, #11,162 on PyPI
Alternatives
Verify before relying
pip install reacton
import reacton
import reacton.ipywidgets as w
@reacton.component
def Counter():
count, set_count = reacton.use_state(0)
return w.Button(description=f"Count: {count}", on_click=lambda: set_count(count + 1))
Counter()- Whether the package works with all ipywidgets ecosystem libraries mentioned (ipyvolume, bqplot, threejs, leaflet, ipyvuetify) or if some require additional setup.
- Performance characteristics when managing large numbers of widgets or complex component hierarchies.
- Compatibility with JupyterLab extensions and whether context manager syntax works in all Jupyter environments.
What it is and what it does
Reacton brings React's declarative component model to Python's ipywidgets ecosystem, letting you write reusable UI components that automatically manage state, event handlers, and widget lifecycle. Instead of manually attaching event handlers, tracking state changes, and updating widget properties, you describe what you want the UI to look like based on your data—Reacton handles the rest, re-rendering and diffing widgets efficiently when state changes.
The package solves the complexity of non-declarative UI code by eliminating scattered event handlers, repeated initialization logic, and manual widget lifecycle management. You define components using decorators and hooks (like `use_state`), and Reacton ensures widgets are created, updated, and destroyed correctly. It supports container widgets as context managers for cleaner syntax and works with the broader ipywidgets ecosystem.
Use it for
- Build interactive Jupyter notebooks with stateful components like counters, forms, and multi-step wizards without manual event handler management.
- Create reusable widget libraries that encapsulate UI logic and state, making them composable across multiple notebooks or applications.
- Develop data exploration dashboards where UI updates automatically reflect state changes without duplicating initialization code in event handlers.
- Simplify complex Jupyter applications by replacing imperative widget manipulation with declarative component descriptions.
- Prototype interactive data visualizations with ipyvolume or bqplot where component state drives visualization updates.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Reacton is actively maintained, has no security vulnerabilities, and installs with minimal friction. If you build interactive Jupyter UIs with ipywidgets and find manual event handling and state tracking error-prone, Reacton's React-like model will reduce bugs and code repetition. Start with the provided examples to evaluate whether the component paradigm fits your workflow.
Install
reacton on PyPI
Before you install
Low install friction with only two runtime dependencies (ipywidgets and typing-extensions). The package is actively maintained with a recent release and no known vulnerabilities, making it straightforward to add to existing Jupyter environments.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both personal and commercial projects without licensing concerns.
Quickstart
pip install reacton
import reacton
import reacton.ipywidgets as w
@reacton.component
def Counter():
count, set_count = reacton.use_state(0)
return w.Button(description=f"Count: {count}", on_click=lambda: set_count(count + 1))
Counter()
Verify before relying
- Whether the package works with all ipywidgets ecosystem libraries mentioned (ipyvolume, bqplot, threejs, leaflet, ipyvuetify) or if some require additional setup.
- Performance characteristics when managing large numbers of widgets or complex component hierarchies.
- Compatibility with JupyterLab extensions and whether context manager syntax works in all Jupyter environments.
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesipywidgetstyping-extensions |
| Maintenance | Actively maintained 38 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 144,048 / month, #11,162 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Environment :: Web EnvironmentFramework :: JupyterLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: User Interfaces |
Evidence: reacton-1.10.2-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “react-like ipywidgets framework”
- reactonReacton provides a React-like component model for building…
- solara-serverSolara-server is a Python web framework that runs React-style…
- solaraSolara is a React-style Python framework for building interactive web…
Give your agent the search over MCP, or paste the wish link into any chat.
More User Interfaces packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Formats and parses numbers, file sizes, timespans, and other values into human-readable text; provides terminal interaction utilities including ANSI text styling and user prompts.
Adds colored output to Python's standard logging module using ANSI escape sequences, with automatic fallback support for Windows terminals.
However, it is abandoned and receives no maintenance, so it will not adapt to future Python changes or platform updates.
Formats argparse and optparse help output with rich styling, colors, and markup to improve CLI readability with minimal code changes.
progressbar2 renders text-based progress bars in the terminal, handling custom widgets, concurrent bars, unknown-length progress, and clean output around logs and prints.
InquirerPy provides interactive command-line prompts (text input, confirmations, selections, checkboxes, fuzzy search) for building conversational CLI interfaces in Python.
However, the project is dormant (last release 2022-06-27), so adopt it only if you need its specific feature set (especially the fuzzy prompt) and can tolerate no…
See also solara · ipywidgets · solara-ui · solara-server · ipyvue · ipyvuetify · anywidget · ipyevents · shinywidgets · exteragram-alib