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.
AstraFlux is a distributed service framework that provides dependency injection, task scheduling with DAG dependencies, RPC with circuit breaker, worker management, and a web dashboard. It uses MongoDB for task persistence, Redis for worker registry and capacity tracking, and RabbitMQ for messaging. The framework follows a modular architecture with clear separation of concerns: DI container (FixtureManager), configuration system, controllers (scheduler, monitor), exports (APIs), and providers (implementations). Services and workers are dynamically loaded and communicate via message queues. The system demonstrates solid engineering practices in its implementation of distributed systems patterns, particularly in its DI container, retryable executors, distributed scheduler, and worker management components.