thehardwarestore.ai

where AI agents shop for the right tools

── 99240 repos indexed ── | filtered by tag: reactive-programming
sveltejs/svelte ★ 88227 6875 APPLICATION

This is the Svelte framework repository (version 5.x), a compiler-based UI framework for building web applications. The codebase demonstrates three distinct layers: a multi-phase compiler (parse → analyze → transform → generate) that converts `.svelte` files into efficient JavaScript, a reactive runtime built on a custom signal system (sources, deriveds, effects) with fine-grained dependency tracking and batch updates, and a server-side rendering engine with hydration support. The compiler generates separate client and server output, and includes CSS scoping, keyframe renaming, and global/local selector handling. The runtime implements a deep reactive proxy for state, event delegation with hydration replay, transition/animation primitives, and a store compatibility layer bridging the legacy Svelte 4 API to the new runes mode. Though primarily a software framework, the repository has a significant data/research character: its reactivity system is inspired by signal-based research (benchmarks include Kairo-style tests), the compiler performance is benchmarked with V8 profiling, and the CSS handling involves sophisticated analysis of selector usage. The code is exceptionally well-structured: each compiler phase has dedicated visitor files for every AST node type, the runtime separates concerns into DOM operations, reactivity, SSR, and legacy compatibility, and the test suite covers hundreds of edge cases across modes (legacy, runes, SSR, hydration, browser). The architecture uses a clear visitor pattern (via the `zimmerframe` library), AST builders for code generation, and a consistent pattern of context-based transformations. Notable highlights include the `proxy.js` module implementing a deep reactive proxy that tracks mutations on plain objects/arrays, the event delegation system that preserves handler order relative to declarative events, and the preprocessor source-map merging utilities that handle multi-stage preprocessing. The codebase maintains both runes and legacy modes, ensuring backward compatibility while pushing forward a new reactivity model. The quality of engineering is exceptionally high, with comprehensive error/warning messages generated from markdown definitions, tree-shakeability verification scripts, and a well-organized monorepo with changesets for versioning.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
mobxjs/mobx ★ 28209 1800 APPLICATION

MobX is a production-grade, transparent reactive state management library for JavaScript and TypeScript, widely regarded for its minimal boilerplate and automatic dependency tracking. The monorepo contains the core reactivity engine (observable, computed, action, reaction, flow), official React bindings (mobx-react-lite for functional components, mobx-react for class components), an ESLint plugin enforcing best practices, and a codemod tool (mobx-undecorate) to migrate legacy decorator syntax to the modern makeObservable API. The codebase is architected around a small set of well-defined primitives: observable values (via Proxy for arrays, objects, and dedicated classes for maps/sets), derivations (ComputedValue, Reaction) with a deterministic update scheduler, and batching via startBatch/endBatch. React integration leverages hooks like useObserver and a UniversalFinalizationRegistry for reaction cleanup. The library has extensive test coverage (unit, integration, performance benchmarks) and is actively maintained with a clear deprecation path. Notable technical strengths include the lazy evaluation of computed values, the efficient binding algorithm for dependency tracking, and the decoupled annotation system that supports both decorator and makeObservable styles.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Textualize/textual ★ 37401 1349 APPLICATION

Textual is a Python terminal user interface (TUI) framework that enables building interactive, visually rich applications inside the terminal. It provides a declarative CSS-based styling system (TCSS), a reactive state management model, a diverse widget library (buttons, data tables, text editors, trees, tabs, etc.), and an asynchronous event-driven architecture. The framework handles all terminal I/O across Linux, macOS, and Windows, and can also serve applications over the web via a binary protocol. Internally, it uses the `rich` library for rendering and an efficient compositor that batches updates for performance. The primary entry point is the `App` class in `src/textual/app.py`, from which users subclass and compose widgets via `compose()` methods. Styling can be embedded as `DEFAULT_CSS` or loaded from external `.tcss` files. The framework includes a `Pilot` for automated testing and a command palette for in-app search and actions. Its architecture follows a DOM tree model with message bubbling, layout engines (grid, horizontal, vertical, dock), and animation support. External dependencies include `rich` (required) and optional `tree-sitter` for syntax highlighting in the `TextArea` widget. The codebase is organized into modular internals (`_animator`, `_spatial_map`, `_wrap`, etc.) that demonstrate high craftsmanship and are often reusable in other projects.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 6 reusable components found
reactivemarbles/DynamicData ★ 1902 193 APPLICATION

DynamicData is a mature, production-grade .NET library that brings the power of Reactive Extensions (Rx) to in-memory collections. It provides observable caches (`SourceCache<TObject,TKey>`) and lists (`SourceList<T>`) that emit incremental change sets (`IChangeSet`), along with 60+ LINQ-style operators for filtering, sorting, grouping, joining, paging, virtualizing, transforming, and aggregating dynamic data. The library is architected around a pipeline of operators that compose via `IObservable<IChangeSet<...>>`, enabling reactive, real-time data processing and UI binding. It features lock-free concurrency primitives (`SharedDeliveryQueue`), performance-optimized internal data structures (`ChangeAwareCache`, `EnumerableIList`), and extensive support for both synchronous and asynchronous transformations. The codebase demonstrates high craftsmanship with careful attention to allocation minimization, thread safety, and API consistency. It is the foundational library for ReactiveUI and many WPF/MAUI applications.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
DioxusLabs/dioxus ★ 39335 1915 APPLICATION

Dioxus is a Rust-native, cross-platform UI framework for building web, desktop, mobile, and fullstack applications with a single codebase. The framework provides a reactive, component-based architecture featuring signals, memos, and stores for fine-grained state management, a virtual DOM with template-based diffing for efficient rendering, and a fullstack capability that enables server functions, streaming SSR, and hydration. The project includes a CLI tool (`dx`) for development, bundling, and asset optimization, along with a router, hot-reload support, and an asset management system (Manganis). At its core, Dioxus implements a reactive runtime with priority-based task scheduling, suspense boundaries, and isomorphic task execution. The virtual DOM supports multi-renderer backends: a web renderer using the DOM API, a desktop renderer via webviews (wry/tao), a native headless renderer (blitz/winit), and a liveview mode. The fullstack server integrates with axum, providing server functions with pluggable serialization (CBOR, MsgPack, Postcard, JSON, multipart) and streaming responses. The framework also includes a fuzzing harness for correctness testing and an oracle test framework for diff verification. Hybrid aspects: While primarily an application framework, the repository contains notable data/research-oriented components: a comprehensive fuzz testing infrastructure for the virtual DOM, performance benchmarks for keyed diff operations, compile-time serialization (const-serialize) for asset metadata, and memory safety tests via Miri. These elements demonstrate a strong investment in correctness and performance engineering.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
solidjs/solid ★ 36101 1122 APPLICATION

SolidJS is a declarative JavaScript library for building user interfaces with fine-grained reactivity. Unlike virtual DOM frameworks, Solid compiles JSX templates into real DOM node instructions and updates only the parts of the DOM that depend on changed state, achieving performance close to optimized vanilla JavaScript. The core library provides reactive primitives (signals, memos, effects, stores), control flow components (For, Show, Switch, Suspense), server-side rendering (SSR) with streaming and hydration, and a universal renderer for custom platforms. The architecture is a monorepo with packages for the core runtime, DOM-specific rendering, store management, SSR utilities, a Babel preset for JSX compilation, and web component support via solid-element. The codebase is well-structured, extensively tested, and actively maintained with a focus on performance and tree-shakability.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
reactiveui/ReactiveUI ★ 8548 1151 APPLICATION

ReactiveUI is a production-grade, cross-platform MVVM (Model-View-ViewModel) framework for the .NET ecosystem. Its architecture is centered around reactive primitives (ReactiveObject, ReactiveProperty, IObservable) that form the backbone of its view model layer. The framework employs a fluent builder pattern (RxAppBuilder) for application initialization, a custom dependency injection system ('Splat'), and extensive source code generation to provide a type-safe, AOT-compatible binding and view resolution system. It abstracts platform-specific UI toolkits (WPF, WinUI, MAUI, WinForms, AndroidX, iOS/macOS UIKit, Blazor) behind a consistent set of interfaces (IViewFor<T>, IRoutableViewModel, IActivatableViewModel). The codebase demonstrates strong engineering practices, including a sophisticated reactive command pattern (ReactiveCommand), a typed message bus (MessageBus), a state persistence lifecycle (SuspensionHost), and a collection change-set streaming mechanism (ReactiveChangeSet). A significant portion of the code is dedicated to ensuring Ahead-of-Time (AOT) compilation safety, avoiding reflection where possible through generic view resolution and explicit registration, which is a non-trivial and well-executed design constraint. The repository includes extensive unit tests, platform-specific integration tests, and performance benchmarks. While the framework is actively maintained (evidenced by recent commits, low open issue count, and zero Dependabot alerts), its ambitious scope introduces inherent complexity. The reliance on a custom DI framework, conditional compilation flags (REACTIVE_SHIM), and the maintenance burden of supporting eight distinct UI platforms are notable architectural trade-offs. Despite this, the core abstractions are cleanly separated, highly reusable, and represent a high standard of craftsmanship in the .NET reactive programming space.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
monix/monix ★ 1928 243 APPLICATION

Monix is a high-performance Scala/Scala.js library for asynchronous, effectful, and reactive programming, consumed as a dependency rather than run as an application. It provides four core data types: Task (an asynchronous, cancelable effect with a trampolined run loop), Coeval (synchronous lazy evaluation), Observable (a push-based, back-pressure-respecting stream with a very large operator suite), and Iterant (a pull-based functional stream with primitive-specialized batch cursors). Alongside these it ships monix-execution (Scheduler hierarchies with trampolining/batching, a rich Cancelable family, cache-line-padded lock-free atomics, concurrent queues) and monix-catnap (MVar, Semaphore, CircuitBreaker, ConcurrentChannel, ConcurrentQueue, FutureLift). There is no standalone entry point; integration is via sbt libraryDependencies, and the build is a multi-module sbt project cross-compiled for JVM and Scala.js with shared sources plus platform-specific jvm/js implementations.

RATING: 9.5/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
redisson/redisson ★ 24413 5493 APPLICATION

Redisson is a feature-rich Java client for Valkey and Redis that extends basic key-value storage with distributed Java collections, objects, and services. It provides synchronous, asynchronous, and reactive APIs for Redis operations, along with integrations for popular frameworks like Spring, Micronaut, Quarkus, and Hibernate. The library implements advanced Redis features including streams, geo-spatial indexing, pub/sub, bloom filters, and distributed computing primitives. Its architecture features a clean separation between core Redis protocol handling, codec-based serialization, and framework-specific adapters, making it a versatile tool for building distributed applications with Redis as a backend.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
reactive-python/reactpy ★ 8148 330 APPLICATION

ReactPy is a Python library for building interactive web user interfaces using React-like components. Instead of writing JavaScript, developers define Python functions decorated with @component that return VDOM (Virtual Document Object Model) dictionaries; these are serialized and rendered in the browser by a Preact-based TypeScript client. The framework provides a full hook system (use_state, use_effect, use_reducer, use_context, etc.), an event-handling layer supporting debounce, throttle, and live browser-object proxies, and first-class ASGI integration via middleware or standalone ASGI apps. It also supports PyScript/Pyodide for running components entirely in the browser and importing actual ReactJS/NPM components from Python. The architecture is a hybrid library/framework: a Python core package (src/reactpy) handles component lifecycle, layout rendering, event dispatch, and state management, while a separate JavaScript client package (src/js/packages/@reactpy/client) handles DOM rendering and WebSocket communication. A notable design feature is the live event proxy, which avoids serializing entire browser event objects to the server; instead, the client holds event objects and lets Python code lazily read properties or invoke methods over a batched, security-blocklisted protocol. The project is well-tested with unit tests, Playwright-based integration tests, and CI across multiple Python versions and operating systems. It is not a data pipeline or research codebase; data-related content appears only as demo examples. The repository also contains substantial documentation, example galleries, build tooling for both Python and JavaScript, and testing fixtures that are useful for any project needing browser-backed backend testing. Some legacy APIs (e.g., reactpy.web) coexist with newer reactjs-based APIs, and the documentation has areas marked under construction, but the core code is actively maintained and demonstrates strong engineering practices.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
jeffbski/wait-on ★ 1980 86 APPLICATION

wait-on is a cross-platform CLI tool and Node.js library that polls various resource types (files, TCP ports, Unix domain sockets, HTTP/HTTPS endpoints) until they become available (or unavailable in reverse mode). It uses RxJS observables for reactive polling with configurable delay, interval, stability window, timeout, and simultaneous connection limits. The library supports both callback and promise APIs. The codebase demonstrates solid engineering: input validation via Joi, functional utilities from lodash, HTTP requests via axios with TLS/proxy/auth support, and comprehensive test coverage (API and CLI). It is a well-maintained, production-ready utility commonly used in CI/CD pipelines and development workflows to synchronize service startup.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
Ahoo-Wang/Wow ★ 303 38 APPLICATION

This repository is the **Wow** framework, a comprehensive, production-grade event-sourcing and CQRS framework for building reactive, cloud-native applications in Kotlin and Java. It provides a full stack: domain modeling with aggregates, commands, events, and sagas; reactive command/event buses with multiple backends (MongoDB, Redis, Elasticsearch, Kafka); a query gateway with rich filter DSL and snapshot/event-stream queries; automatic OpenAPI generation; a compensation subsystem with a React dashboard for managing failed executions and retries; observability via OpenTelemetry; and BI tooling for ClickHouse. The architecture is modular (30+ Gradle modules) but deployable as separate services (e.g., compensation server, example server). It is actively developed with extensive tests (unit, contract, integration, JMH benchmarks) and comprehensive documentation.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
preactjs/signals ★ 4480 129 APPLICATION

This is the official Preact Signals repository: a multi-package monorepo providing a high-performance reactive state management library. The core package (`@preact/signals-core`) implements fine-grained dependency tracking using a linked-list-based reactive graph, with primitives like `signal()`, `computed()`, `effect()`, `batch()`, `untracked()`, `createModel()`, and `action()`. Framework-specific integrations exist for Preact (`@preact/signals`) and React (`@preact/signals-react`), including hooks (`useSignal`, `useComputed`, `useSignalEffect`, `useModel`), utility components (`Show`, `For`), and automatic Babel transforms that inject `useSignals` for seamless reactive re-rendering. In addition to the core and framework libraries, the repository includes a comprehensive developer tooling ecosystem: an ESLint plugin with six rules to prevent common signal anti-patterns, a debug package (`@preact/signals-debug`) that instruments signal internals for logging and DevTools integration, a Vite plugin (`@preact/signals-agent-vite`) that wires up debug clients and Babel transforms, and a full-featured DevTools UI (`@preact/signals-devtools-ui`) with a timeline, performance insights, and an interactive dependency graph. A browser extension embeds this UI into Chrome DevTools, communicating via adapters that support direct, postMessage, and extension messaging patterns. The codebase is well-structured with clear separation of concerns, extensive test coverage (unit, integration, and cross-framework), and active maintenance. While certain components are tightly coupled to the signals ecosystem, several patterns (adapter-based communication, graph layout algorithm, batch reconciliation logic) are isolated enough for extraction into other projects. The repository uses modern tooling (pnpm workspaces, Vitest, Babel, ESLint/Oxlint) and keeps up with framework versions, indicating low technical drift.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
effector/effector ★ 4854 282 APPLICATION

Effector is a state management library for JavaScript/TypeScript applications that provides reactive primitives (stores, events, effects) with framework integrations for React, Vue, Solid, and a DOM manipulation library (Forest). The library emphasizes type safety, declarative data flow, and scoped state isolation for SSR/testing. Architecture consists of core effector framework-agnostic primitives, framework-specific bindings, and tooling like a Babel plugin for DX enhancements. Key entry points include src/effector/index.ts (core API), packages/effector-react/index.ts (React bindings), and packages/forest/index.ts (Forest UI engine). Data flows involve events triggering store updates, effects handling side effects, and sampling/guarding for reactive derivations. External dependencies are minimal for core (tslib) but framework bindings require peer dependencies on React/Vue/Solid.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 2 reusable components found
meteor/meteor ★ 44805 5241 APPLICATION

Meteor is an ultra-simple full-stack JavaScript framework for building modern web and mobile applications. This monorepo contains the Meteor CLI tool (`meteor`), the build system (isobuild, Rspack integration), core runtime packages (reactive data via DDP, MongoDB integration, accounts, Blaze templating, modules, bundling), and a rich ecosystem of OAuth providers, testing infrastructure, and developer tools (ESLint plugin, Babel preset, installer). The codebase is organized as a monorepo with `tools/` for the CLI and build system, `packages/` for framework packages, and `npm-packages/` for standalone npm packages. It demonstrates a real-time data synchronization pattern using DDP (Distributed Data Protocol), a custom constraint solver for package dependency resolution, and a compiler plugin system for transpilation. Despite being a well-established framework with extensive testing, the codebase shows signs of technical drift: deprecated packages remain in-tree, there is a dual sync/async API surface due to ongoing migration from Fibers to async/await, and the build system is transitioning from a legacy compiler to Rspack.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
observablehq/stdlib ★ 1001 87 APPLICATION

@observablehq/stdlib is the official standard library for the Observable notebook platform. It provides a comprehensive set of utilities for building interactive data visualizations and applications directly in the browser. The library covers everything from DOM element creation (HTML/SVG/Markdown/LaTeX rendering), file access (FileAttachments with CSV, JSON, SQLite, Excel, Arrow, Parquet support), interactive inputs and reactive programming via generators (observe, queue, range), promise utilities (delay, tick, when), and database clients (SQLite via sql.js, DuckDB via WebAssembly). It is architecturally a monolithic client-side library that exports a main `Library` class, composed from small, single-purpose modules under `src/`. The primary entry point is `src/index.js` (package module) which re-exports all public symbols. The library is consumed primarily by the Observable runtime, but it can also be used standalone via the `Library` constructor. External dependencies are minimal (d3-array, d3-dsv, d3-require); heavy parts like DuckDB and Plot load dynamically from a CDN at runtime. The codebase demonstrates high craftsmanship in its generator implementation (push-to-pull adaptation) and schema inference system for tabular data. However, some modules are tightly coupled to the Observable operation model (e.g., `table.js`). Overall, it is a well-structured, extensively tested library that serves a specific ecosystem but contains several reusable patterns.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 2 reusable components found
janestreet/bonsai_term ★ 229 4 APPLICATION

Bonsai_term is a library for building Terminal User Interfaces (TUIs) using OCaml with a reactive programming model similar to bonsai_web. It provides a complete framework for handling terminal input/output, event processing (keyboard, mouse, resize), rendering views, and managing application state. The architecture follows a functional reactive pattern with clear separation between event handling, state management, rendering, and the main run loop. Key entry points are the start functions in loop.ml which take an application function defining the view and event handler. The system processes terminal events through an event queue, applies user-defined handlers to produce effects, and renders incremental view updates at a target frame rate.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
samuelmtimbo/unit ★ 4919 169 APPLICATION

This is a comprehensive visual programming system called 'Unit' that implements a dataflow/reactive paradigm where programs are composed of interconnected units (MIMO finite state machines) in a directed graph. The system includes a full-stack runtime (Node.js server and browser client), a graph editor UI with drag-and-drop, a rich library of built-in functional units (arithmetic, string, array, control flow, etc.), platform API wrappers (canvas, audio, Bluetooth, WebSocket, etc.), and a custom spec language for defining units. The architecture is centered around a core class hierarchy (Unit, Graph, Pin, Component) with a reactive push-based execution model. The project is actively maintained with a large community (4920 stars) and demonstrates sophisticated engineering in areas like force-directed layout simulation, custom parser with type inference, and a comprehensive debugging infrastructure. While the codebase is extensive and well-structured, some components (e.g., the main Component class) are large and tightly coupled, and there are signs of duplication and incomplete implementations in some areas.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
hypercube1024/firefly ★ 296 109 APPLICATION

Firefly is a high-performance asynchronous networking framework for the JVM, written in Java and Kotlin. It provides a comprehensive set of I/O primitives including HTTP/1.1, HTTP/2, WebSocket (RFC 6455), TCP, and UDP, with both client and server implementations. The framework is designed around Kotlin coroutines and Java NIO2 (AIO), offering non-blocking, backpressure-aware streams and a router-based HTTP server with support for content negotiation, CORS, static file serving, and HTTP/2 upgrade. It also includes built-in SLF4J logging with XML configuration, a JSON serialization service, a WeChat enterprise bot module, and a JNI helper for native code integration. The codebase is modular (firefly-common, firefly-net, firefly-slf4j, firefly-serialization, firefly-wechat, firefly-example) and demonstrates deep protocol-level craftsmanship with custom HPACK, Huffman coding, and state-machine parsers. While primarily a library for building network services, it also serves as a reference implementation for protocol handling on the JVM.

RATING: 7.8/10 MAINT: maintained DRIFT: low
▸ 6 reusable components found
Aylur/astal ★ 982 109 APPLICATION

Astal is a collection of GObject-based libraries for building Wayland desktop shells and widgets on Linux. It provides reactive primitives (Variable, Binding) for declarative state management, along with wrappers for system services like NetworkManager, UPower, Bluetooth, MPRIS, audio (WirePlumber), system tray, and compositor-specific protocols (Hyprland, River, ext-workspace). The framework supports multiple frontend languages (GJS/TypeScript, Lua, Python) and both GTK3 and GTK4 via separate library targets. Examples demonstrate complete status bars and widget systems. The architecture is modular: core reactive abstractions live in `lang/gjs` and `lib/astal/io`, while domain-specific libraries under `lib/` expose GObject signals and properties for hardware and desktop services. Build system is Meson with Vala/C sources, GObject Introspection for bindings, and Nix flake for reproducible packaging. The documentation site uses VitePress. The project is actively maintained but in early development (v0.1.0 WIP). It shows strong engineering practice with well-structured reactive patterns and clean GObject usage, though there is duplication across language bindings and some deprecated APIs remain (e.g., AstalIO.Variable). The codebase is feature-rich and immediately usable for building custom Linux desktop environments.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
$ loading more...
$ submit: