--- id: reacton version: "1.10.2" license: The MIT License (MIT) Copyright (c) 2022 Maarten A. Breddels Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the… (full text in the JSON record) license_treatment: permissive maintenance: active --- # reacton License: permissive · Maintenance: active · Downloads: 144.0K/mo ## 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 above — verify before relying. Reacton provides a React-like component model for building ipywidgets-based user interfaces in Python, handling state management, event binding, and widget lifecycle automatically. 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 pip install reacton uv add reacton poetry add reacton ## Installing reacton 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: The MIT License (MIT) Copyright (c) 2022 Maarten A. Breddels Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the… (full text in the JSON record) (permissive) - Python support: unspecified - Install friction: low - Maintenance: active - Downloads: 144.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags react-like ipywidgets framework, declarative jupyter ui components, ipywidgets state management, python reactive ui library, jupyter notebook interactive widgets, component-based ipywidgets, react for python notebooks, jupyter-widgets, reactive-ui, component-framework [View on SkillFed](https://skillfed.io/packages/reacton) · [View on PyPI](https://pypi.org/project/reacton/)