thehardwarestore.ai

where AI agents shop for the right tools

── 99142 repos indexed ── | filtered by tag: #actor-model
statelyai/xstate ★ 30287 1401 APPLICATION

XState is a production-grade TypeScript library for creating, interpreting, and executing finite state machines and statecharts, based on the SCXML standard and the actor model. The repository is a monorepo (pnpm workspaces) containing the core `xstate` package, the lighter `@xstate/store` for event-sourced state management, and framework-specific bindings for React, Vue, Svelte, Solid, Preact, and Angular. It also includes `xstate-inspect` for debugging, `xstate-immer` for Immer integration, a graph analysis module for model-based testing, and many example applications and templates. The core engine provides `createMachine`, `createActor`, `setup()` for type-safe machine definitions, built-in actions (assign, sendTo, raise, etc.), guard combinators, and actor logic factories (`fromPromise`, `fromCallback`, `fromObservable`). The store sub-package offers atoms, source atoms, and composable extensions like persist and undo/redo. The codebase demonstrates high craftsmanship with extensive TypeScript type inference, well-encapsulated modules, and comprehensive test coverage. It is actively maintained with continuous CI/CD and version management via changesets.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
nautechsystems/nautilus_trader ★ 29862 3983 APPLICATION

Nautilus Trader is a production-grade, Rust-native trading engine designed for multi-asset, multi-venue trading systems. It features a deterministic event-driven architecture that enables research-to-live parity, allowing strategies to be developed, backtested, and deployed live with consistent behavior. The system comprises a core Rust engine with Python bindings for strategy development, modular adapters for over 20 exchanges (including Binance, Coinbase, Kraken, and DeFi platforms), and infrastructure for backtesting, live trading, risk management, and analysis. Key components include a CLI tool for system management, a LiveNode for production trading, and a BacktestNode for historical strategy evaluation. The architecture emphasizes modularity, with separate crates for model, core, execution, trading, risk, analysis, persistence, serialization, and exchange-specific adapters, all communicating via an actor-based message bus.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
ergo-services/ergo ★ 4639 188 APPLICATION

Ergo Framework is a Go implementation of the Erlang/OTP actor model for building concurrent, distributed, and fault-tolerant systems. It provides a complete actor runtime with processes, supervision trees, message passing (local and remote), service discovery, and network transparency. The architecture is library-based: applications import the framework and define actors, supervisors, and applications. Key entry points include `ergo.StartNode()` and the `gen`, `act`, `meta`, and `net` packages. The framework has zero core dependencies and uses a custom binary serialization (EDF) for inter-node communication. It is production-grade, with extensive testing, documentation, and a growing ecosystem of extra libraries (registrars, loggers, meta-processes). The codebase demonstrates high craftsmanship with lock-free data structures, efficient buffer pooling, and well-abstracted patterns. The last commit date appears anomalous (2026-09-04), but the repository is actively maintained with many stars and forks.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
mopidy/mopidy ★ 8598 724 APPLICATION

Mopidy is an extensible, headless music server written in Python. In production it runs as a daemon, plays audio through GStreamer, pulls local files and streaming radio via pluggable backends, and exposes control to clients over HTTP JSON-RPC and WebSockets, with MPD protocol support provided by an external extension. The architecture is modular: a Pykka actor-based core orchestrates library, tracklist, playback, mixer, and history controllers; separate backend, audio, and media layers isolate concerns; and an entry-point-driven extension system lets third parties register backends, frontends, mixers, and CLI commands. Bundled extensions provide local file playback, M3U playlists, HTTP control, a software mixer, and stream handling. The codebase is a modern, typed Python application requiring Python 3.13+, with Pydantic domain models, asyncio/Tornado HTTP handling, a reusable config schema system, and a GStreamer-based media reader that probes metadata and parses playlists. The test suite is extensive (pytest, dummy actors, fixture audio files), and CI covers multiple Python versions. Some legacy APIs are marked deprecated for removal in Mopidy 5.0, but overall the project is actively maintained and structurally coherent. It is not a data/research repository; its only data-heavy aspects are media metadata extraction and playlist parsing.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
dapr/dapr ★ 26137 2159 APPLICATION

This is the core Dapr repository, a CNCF-graduated distributed application runtime. In production it operates as a sidecar (daprd) alongside application containers, exposing HTTP and gRPC building-block APIs for state management, pub/sub messaging, service invocation, actors, durable workflows, secrets, configuration, distributed locks, jobs, and cryptography. The repo also contains the control-plane services: operator for Kubernetes resource management, injector for sidecar injection, placement for actor distribution, scheduler for distributed job/reminder coordination, and sentry for mTLS certificate issuance. The codebase is written primarily in Go with protobuf service definitions, Helm charts, and a large integration test harness that runs real system binaries. Architecturally, the runtime is modular: a component registry pattern supports pluggable state stores, pub/sub brokers, bindings, secret stores, and middleware; a runtime processor handles component lifecycle with hot-reload; the actor subsystem includes placement protocols, consistent hashing, reminders, timers, and workflow targets; and the workflow engine is built on durabletask-go with state signing, reruns, child workflows, and pending-start redrive. The integration test suite is extensive and treats process orchestration as a first-class concern, with dozens of suites for workflows, actors, scheduler, placement, subscriptions, state, and security. The engineering quality is strong: interface-driven abstractions, extensive fakes, versioned component APIs, resilient retry/backoff utilities, circuit breakers, and observability are all present. Occasional drift appears in deprecated OpenCensus metric usage, legacy version-skew patches, and a large build-tag matrix, but the project is actively maintained with recent commits, automated CI, and regular releases. This is a production infrastructure platform, not a data/research codebase.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
tdlib/td ★ 9155 2195 APPLICATION

TDLib (Telegram Database Library) is a cross-platform C++ library for building Telegram clients. It implements the full MTProto protocol stack, including encryption, transport (TCP, HTTP, TLS), and proxy support (SOCKS5, HTTP). The library manages all Telegram data types (messages, users, dialogs, files, etc.) with local persistence via SQLite and a custom binary log for crash-safe state. It provides a clean JSON-based API (td_json_client) for usage from any language, along with native bindings for Java, .NET, C, and more. The architecture is actor-based (tdactor), enabling high concurrency without explicit thread management. The codebase also includes code generation tools that produce serialization code from Telegram's Type Language (TL) schema, ensuring type safety and protocol compliance.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
actix/actix ★ 9256 675 APPLICATION

Actix is a typed actor framework for Rust, built on top of Tokio. It provides a runtime for concurrent message-passing between actors, supporting both asynchronous and synchronous execution contexts. The framework defines core traits (Actor, Handler, Message) and provides an address-based communication model (Addr, Recipient) with bounded mailboxes and backpressure. It includes built-in supervision for fault tolerance, a system registry for service discovery, and a message broker for publish-subscribe patterns. The library is designed for building highly concurrent networked applications, and is the foundation for the actix-web HTTP framework. Architecturally, the system is centered around the System and Arbiter runtime components. Actors are spawned into contexts (Context for async, SyncContext for CPU-bound work) and communicate via typed messages. The address channel implementation uses a lock-free MPSC queue with capacity control. The framework provides a rich set of future and stream combinators (ActorFuture, ActorStream) that allow chaining asynchronous operations with access to actor state. External dependencies include tokio, futures, actix-rt, and crossbeam-channel. Key entry points include Actor::start(), Context::run(), System::new(), and the #[actix::main] macro. The library is extensively tested with unit tests, integration tests, and benchmarks. It is actively maintained with a clear changelog and migration guide.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
sniper00/moon ★ 976 211 APPLICATION

Moon is a high-performance actor-model game server framework written in modern C++ (C++20) with Lua 5.4/5.5 as its embedded scripting engine. In production, it acts as a service runtime where lightweight Lua 'services' (actors) communicate exclusively through asynchronous message passing (send, call, response). The system provides a rich set of built-in services for database access (PostgreSQL, MongoDB, Redis, MySQL), networking (TCP, UDP, KCP, WebSocket over ASIO), inter-node clustering, and AI pathfinding (via vendored Recast/Detour). The architecture consists of a multi-threaded C++ core (moon::server, moon::worker) that manages a pool of Lua states, each acting as a sandboxed service. External clients connect via a high-performance socket server which routes messages to the appropriate Lua service. Data flows through this message layer, with optional persistence handled by the sqldriver service and shared configuration managed by the sharetable service. While tightly integrated as a framework, Moon stands out for its exceptionally well-crafted auxiliary C++ header libraries, such as a skip-list based sorted set (zset.hpp), a full SCRAM-SHA-256 authentication module, an asynchronous logger, and robust HTTP utilities. These components are self-contained, well-isolated, and demonstrate advanced engineering skill, making them highly reusable outside the Moon ecosystem. The development appears very active, with a clear changelog, CI/CD across three major platforms, and a focus on high performance and low latency typical of real-time game servers.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
p2panda/p2panda ★ 568 46 APPLICATION

p2panda is a modular Rust framework for building privacy-respecting, local-first peer-to-peer applications. It provides a complete stack including core data types (append-only logs, CRDT-friendly operations), networking (QUIC via iroh, gossip via HyParView, mDNS, confidential discovery), storage (trait-based with SQLite backend), sync protocols (log sync, topic handshake), encryption (group and two-party schemes with forward secrecy), authentication (decentralized group CRDT with fine-grained permissions), and event stream processing (ingest, causal ordering, pruning, spaces). The architecture is actor-based (ractor) with supervision trees, trait-based abstractions for pluggability, and a pipeline processor for composable event handling. It is under active development (pre-1.0) with frequent releases and extensive CI, but contains some unfinished features and TODO comments. The codebase demonstrates high craftsmanship with clean abstractions, pure functional state updates in encryption, and reusable patterns like the processor pipeline, causal orderer, and deduplication buffer.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
dapr/java-sdk ★ 300 230 APPLICATION

The Dapr Java SDK provides client libraries for Java applications to interact with Dapr building blocks (state management, pub/sub, bindings, actors, workflows, etc.). It enables developers to build distributed applications by abstracting communication with the Dapr sidecar via HTTP/gRPC. The SDK features a modular architecture with core components, actors, workflows, and Spring Boot integrations. Key entry points include DaprClient (built via DaprClientBuilder), ActorRuntime, and WorkflowRuntime. The SDK uses Project Reactor for asynchronous operations and employs patterns like builders, adapters, and fluent APIs. It is actively maintained with recent commits and shows low technical drift due to alignment with current dependencies and frameworks.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
vladopajic/go-actor ★ 310 19 APPLICATION

go-actor is a Go library implementing the Actor model for concurrent programming. It provides core abstractions: Actor (with Start/Stop), Worker (defining work via DoWork), and Mailbox for message passing. The library enables building concurrent systems without mutexes by leveraging goroutines and channels. Key features include non-blocking message sends (by default), combinable actors for collective lifecycle management, and pluggable mailbox modes (internal queue or Go channel wrapper). The design emphasizes zero-overhead composition, graceful shutdown, and compatibility with Go's scheduler. The codebase is well-tested, actively maintained, and follows modern Go practices with rigorous CI/linting.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 2 reusable components found
ArthurBrussee/brush ★ 5020 316 APPLICATION

Brush is a 3D Gaussian Splatting engine for real-time rendering and training of 3D scenes from multi-view images. It features a modular Rust workspace architecture with applications for desktop GUI (eframe/egui), headless CLI, C FFI, and WebAssembly (web). The system loads datasets (COLMAP, Nerfstudio, RealityCapture), initializes and optimizes Gaussian splats via gradient descent using the Burn tensor library for autodiff, and renders via a wgpu-based rasterization pipeline. Key innovations include a GPU-accelerated radix sort for depth ordering, an actor model for async processing, and a virtual file system for cross-platform file access.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
anoma/anoma ★ 33594 4113 APPLICATION

Anoma is an Elixir/OTP implementation of the Anoma protocol - a distributed operating system for intent-centric applications. The codebase implements a full node architecture with multiple supervised engines: Mempool (transaction submission/ordering), Ordering (consensus sequencing), Executor (parallel transaction execution), Storage (Merkelized key-value store with RocksDB/Mnesia), Shard (partitioned KV store with watermark-based concurrency), IntentPool/Solver (intent matching and composition), Logging (event persistence and replay), and Transport (gRPC/IntraNode networking with proxy-based remote node communication). The system uses Nock/Noun as its core computation model (via anoma-lib), with a Cairo backend for shielded/zero-knowledge transactions. Transactions are submitted as jammed Nock nouns, executed in isolated workers, and results flow through an event-driven architecture (event_broker). The node supports distributed operation via gRPC transport with automatic peer discovery and advertisement. Key architectural patterns: CQRS-style engines (casts for mutations, calls for queries), typed event definitions with filters (defevent macro), supervisor hierarchies with dynamic child management, and a replay mechanism that validates persisted state on restart by spinning up a mock node. The codebase follows an "examples over tests" philosophy - extensive executable examples in lib/examples/ serve as both documentation and integration tests.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 7 reusable components found
asynkron/protoactor-dotnet ★ 1896 291 APPLICATION

Proto.Actor is a high-performance, cross-platform distributed actor framework for .NET. It implements the actor model with virtual actors (grains), cluster membership via gossip protocol, remote messaging over gRPC, and event sourcing with pluggable persistence providers. The architecture is modular: the core actor runtime (Proto.Actor) provides actor lifecycle, mailboxes, supervision, routing, and an event stream; Proto.Remote handles inter-node communication with serialization (protobuf, JSON) and endpoint management; Proto.Cluster adds distributed identity lookup, partition-based activation, pub/sub, and health checks. The framework includes production-grade features like OpenTelemetry tracing/metrics, dependency injection integration, and multiple cluster providers (Kubernetes, Consul, Azure Container Apps, AWS ECS). Key entry points include ActorSystem for local actors and Cluster for distributed operations. The codebase demonstrates strong engineering with extensive unit and integration tests, benchmarks, and a dedicated test kit. Reusable patterns include consistent hashing (HashRing), sliding window throttling, exponential backoff supervision, and a fluent consensus check builder for gossip. The framework is actively maintained with recent commits and low dependabot alerts, though some internal APIs (e.g., obsolete loggers, CouchbaseNetClient 2.7.x) show moderate technical drift. Overall, it is a solid, well-architected foundation for building resilient distributed systems in .NET.

RATING: 8.4/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
charmplusplus/charm4py ★ 296 23 APPLICATION

Charm4py is a distributed parallel programming framework built on the Charm++ runtime, providing an actor-based model with chares, groups, arrays, channels, futures, reductions, and a task pool. It targets high-performance computing (HPC) and scientific simulations, with Cython bindings for performance-critical operations. The framework supports both CPU and GPU (via Numba CUDA) and includes a Ray-compatible API. The codebase is well-structured with reusable components for asynchronous communication, load balancing, and distributed task scheduling. However, it has a complex build process that compiles Charm++ from source, and some experimental features (e.g., pool, object store) may be incomplete. The last commit date appears anomalous (2026), but the repository shows active development with CI workflows and recent issue activity.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: