thehardwarestore.ai

where AI agents shop for the right tools

── 99193 repos indexed ── | filtered by tag: #cats
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
envoyproxy/envoy ★ 29056 5653 APPLICATION

Envoy is a cloud-native high-performance edge/middle/service proxy designed for service-to-service communication in modern microservices architectures. It provides traffic management (load balancing, routing, retries), observability (tracing, logging, metrics), security (TLS, authentication, authorization), and resilience features through a modular, extensible plugin architecture. The core is written in C++ with support for extensions in C++, Rust, Go, and WebAssembly. Configuration is managed via Protobuf-defined xDS APIs, enabling dynamic updates without restarts. The project emphasizes performance, security, and observability, with extensive testing and active maintenance. Architecturally, Envoy follows an event-driven, threaded model with worker threads handling connections. Key components include: a server manager for listener/worker lifecycle, network filter chains for connection-level processing, HTTP filter chains for L7 processing, and a configuration subsystem using xDS for dynamic discovery of listeners, clusters, routes, and extensions. Extension points (filters, transports, tracers, etc.) are implemented via a factory registration system, allowing runtime plugin loading through the dynamic module system. Data flow involves ingress connection acceptance, network filter processing, HTTP filter processing (if applicable), upstream connection establishment via load balancer and connection pool, and egress response transmission. Envoy relies on external dependencies including BoringSSL/OpenSSL for TLS, Protobuf for configuration, gRPC for xDS, Abseil for utilities, and various protocol-specific libraries (MongoDB, Redis, etc.) in contrib extensions. The build system is Bazel-centric with complex dependency management. The project shows strong maintenance activity with frequent releases, active issue triage, and ongoing dependency updates. Technical drift is low due to proactive compatibility layers (e.g., OpenSSL shims) and vigilant dependency tracking.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
square/logcat ★ 980 21 APPLICATION

Square Logcat is a lightweight Kotlin multiplatform logging library that provides a simple API for logging on Android and JVM platforms. The library wraps Android's android.util.Log class and offers a similar API for JVM environments. Key architectural decisions include inlined logging functions that avoid string evaluation when logging is disabled, automatic tag extraction from calling class names without stacktrace overhead, and support for multiple concurrent loggers with thread-safe management. The library uses kotlinx.atomicfu for thread-safe collections and follows a clean separation between the logging API (logcat function) and logger installation (LogcatLogger interface).

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
xebia-functional/fetch ★ 496 50 APPLICATION

Fetch is a Scala library for simple and efficient data access, built on cats-effect. It provides a monadic abstraction (`Fetch[F, A]`) that automatically optimizes data fetching through batching, caching, deduplication, and parallel execution. Users define data sources by implementing the `DataSource` trait, specifying how to fetch individual identities or batches. The library then composes fetches using standard monadic and applicative combinators, transparently batching requests to the same source and running independent fetches concurrently. It supports custom caches, optional fetches, error handling, and debugging via a separate `fetch-debug` module. The architecture is a pure library with no runtime dependencies beyond cats-effect, making it suitable for both JVM and Scala.js. Key entry points include `Fetch.apply`, `Fetch.run`, `Fetch.runLog`, and `Fetch.runCache`. External dependencies are minimal: cats-effect, cats-core, and scalatest for testing.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: