Signal(42)
Computed(λ)
Effect()
reactive()

Signals for Python
Reactive State Management
Inspired by SolidJS & Angular

Bring the power of SolidJS and Angular Signals to Python with automatic dependency tracking.
Think Excel spreadsheets for your Python code—the reactive model you know and love.
pip install reaktiv

Signals You Already Know

Just like Excel formulas automatically recalculate when cells change, or how SolidJS/Angular Signals work— reaktiv brings the same reactive primitives to Python.

reaktiv_demo.py
from reaktiv import Signal, Computed, Effect

# Reactive data sources (like Excel cells)
count = Signal(0)
multiplier = Signal(2)

# Reactive computations (like Excel formulas)
double = Computed(lambda: count() * multiplier())
squared = Computed(lambda: count() ** 2)
summary = Computed(lambda: f"Count: {count()}, Double: {double()}, Squared: {squared()}")

# Reactive side effects (automatically run when data changes)
logger = Effect(lambda: print(f"📊 {summary()}"))

# Just change your data - everything reacts automatically!
count.set(3)        # 📊 Count: 3, Double: 6, Squared: 9
multiplier.set(5)   # 📊 Count: 3, Double: 15, Squared: 9
count.set(4)        # 📊 Count: 4, Double: 20, Squared: 16

Excel Meets Frontend Reactivity

When you change A1 in Excel, all formulas using A1 automatically recalculate. SolidJS and Angular Signals work the same way. reaktiv brings both concepts to Python.

🎯 Familiar Patterns

  • Signal(value) — reactive data sources (like Excel cells)
  • Computed(fn) — derived state (like Excel formulas)
  • Effect(fn) — side effects that auto-run
  • • Automatic dependency tracking
  • • Fine-grained updates

💡 Use Cases

  • • Configuration management
  • • Data processing pipelines
  • • Real-time monitoring
  • • Jupyter notebook computations
  • • FastAPI / Django backends

Why reaktiv?

The battle-tested reactive model from SolidJS and Angular, reimagined for Python developers.

Signals for Python

Inspired by Angular and SolidJS, Signal, Computed, and Effect enable fine-grained reactivity.

Automatic Dependency Tracking

reaktiv tracks relationships between variables and updates state precisely and efficiently.

No Boilerplate

Just use plain Python — no decorators, no class magic. It works seamlessly with functions and data.

Designed for Everyone

Whether you're building backends, notebooks, or desktop tools — reaktiv fits right in.

What Developers Say

👨‍💻
"This feels like magic. Finally, reactive programming in plain Python! I've been waiting for something like this for years."
— Early user feedback

Join the growing community of Python developers using reaktiv. Share your experience →

Ready to Get Started?

Install reaktiv and start building reactive Python applications today.

pip install reaktiv

Try Signals in Python!

Experience the SolidJS/Angular reactive model in Python. Run real reaktiv code directly in your browser.

🚀 Basic Example
🔢 Counter App
📝 Todo List
📊 Data Pipeline

Python Code

💡 Try this: Modify the values, add new signals, or create your own computed values!
ℹ️ Note: Each run starts with a fresh Python session for clean execution.

Output

Click "Run Code" to see the output...

Reactive Primitives

  • Signal — reactive data sources (like SolidJS/Angular)
  • Computed — derived reactive state that auto-updates
  • Effect — side effects that run when dependencies change
  • • Everything updates automatically with fine-grained reactivity!

🚀 Instant Feedback

Run code immediately in your browser. No setup, no downloads, no installations required.

🔄 Real Reactivity

See actual reactive updates in action. Watch how changes propagate automatically through your data.

⚡ Learn by Doing

Experiment with different examples. Modify code, break things, learn how reactivity works.

packages = ["reaktiv"]