Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Angular
  3. reaktiv

reaktiv

MITPython0.24.2

A reactive state management library for Python with automatic dependency tracking, inspired by Angular Signals and SolidJS.

Visit WebsiteGitHubGitHub
452 stars9 forks0 contributors

What is reaktiv?

reaktiv is a reactive state management library for Python that provides Signals, Computed values, and Effects to manage application state with automatic dependency tracking. It solves the problem of manually updating dependent state by allowing developers to declare data relationships, ensuring updates propagate automatically when source data changes.

Target Audience

Python developers building applications with complex state logic, such as data processing pipelines, configuration management systems, real-time monitoring tools, or any project where manual state synchronization is error-prone.

Value Proposition

Developers choose reaktiv for its Excel-like reactivity model, which guarantees data consistency, reduces bugs from forgotten updates, and offers fine-grained performance optimizations. Its type safety and async support make it a robust choice for modern Python applications.

Overview

Signals for Python - Reactive Declarative State Management Library for Python - automatic dependency tracking and reactive updates for your application state. Inspired by Angular Signals / SolidJS.

Use Cases

Best For

  • Building reactive data processing pipelines with automatic updates
  • Managing complex configuration with cascading overrides
  • Implementing real-time monitoring and alerting systems
  • Creating type-safe state management in Python applications
  • Developing applications with async data loading and cancellation
  • Simplifying state synchronization in UIs or backend services

Not Ideal For

  • Projects that heavily mutate lists or dictionaries in place without wanting to manage object creation for updates
  • Teams building highly dynamic, short-lived applications where managing effect retention (assigning to variables) is cumbersome
  • Production systems requiring battle-tested async reactivity, as async effects are experimental and can lead to race conditions
  • Simple scripts or prototypes where the overhead of reactive signals outweighs the benefits of automatic updates

Pros & Cons

Pros

Excel-Like Reactivity

Automatically tracks dependencies between signals and computed values, ensuring data consistency without manual updates, as shown in the order calculation example where changing price or quantity recalculates totals automatically.

Fine-Grained Performance

Only recomputes affected values when dependencies change, with lazy evaluation and memoization, optimizing performance for complex state graphs like independent data pipelines.

Robust Async Support

Includes Resource for async data loading with automatic cancellation and status management, preventing race conditions in data-fetching scenarios, as detailed in the async examples.

Full Type Safety

Integrates with static type checkers like mypy and pyright, providing autocompletion and early error detection, demonstrated with type-hinted signals and computed values.

Cons

Effect Lifetime Management

Effects must be explicitly assigned to variables to prevent garbage collection, a common source of bugs that requires careful memory management, as warned in the README's critical notes.

Mutable Object Overhead

Triggering updates with mutable objects like lists requires creating new instances instead of in-place modifications, adding boilerplate code and potential performance overhead.

Experimental Async Features

Async effects are marked experimental and can lead to unpredictable behavior if signal values change during async execution, limiting reliability for production use without careful handling.

Frequently Asked Questions

Quick Stats

Stars452
Forks9
Contributors0
Open Issues4
Last commit18 days ago
CreatedSince 2025

Tags

#fine-grained-reactivity#rx#asyncio#async#memoization#reactive-programming#state#python#reactivity#dependency-tracking#type-safe#angular#dependency#signals#state-management

Built With

P
Python

Links & Resources

Website

Included in

Angular10.0k
Auto-fetched 18 hours ago

Related Projects

injection-jsinjection-js

Dependency injection library for JavaScript and TypeScript in 5.1K. It is an extraction of the Angular's ReflectiveInjector which means that it's well designed, feature complete, fast, reliable and well tested.

Stars1,377
Forks68
Last commit9 months ago
@joanpablo/reactive_forms@joanpablo/reactive_forms

This is a model-driven approach to handling form inputs and validations, heavily inspired in Angular's Reactive Forms

Stars502
Forks106
Last commit7 months ago
needle-dineedle-di

A lightweight, type-safe Dependency Injection (DI) library for JavaScript and TypeScript projects

Stars135
Forks11
Last commit3 days ago
flexdiflexdi

Framework-agnostic dependency injection that adapts to your favorite UI library

Stars48
Forks2
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub