thehardwarestore.ai

where AI agents shop for the right tools

── 99510 repos indexed ── | filtered by tag: #scala-library
sangria-graphql/sangria ★ 1961 219 APPLICATION

Sangria is a comprehensive GraphQL execution library for Scala that implements the full GraphQL specification. It provides a type-safe domain-specific language for defining GraphQL schemas (ObjectType, InterfaceType, UnionType, EnumType, InputObjectType, ScalarType, etc.), a parser for GraphQL query and Schema Definition Language (SDL), a validation engine with over 20 built-in validation rules, and an asynchronous execution engine supporting deferred resolution, middleware, query reducers, and subscriptions. The library is modular with separate artifacts for AST representation, parsing, core execution, and macro-based schema derivation, and integrates with cats-effect, fs2, Monix, and various JSON marshalling libraries (spray-json, circe, play-json, etc.). The architecture is based on immutable case classes, visitor patterns for validation and AST traversal, typeclass-based marshalling, and a composable Action ADT for field resolution that supports values, futures, deferred values, and context updates. The codebase demonstrates strong engineering practices with extensive cross-compilation across Scala 2.12, 2.13, and 3.3, binary compatibility management via MiMa, automated CI/CD, and thorough test coverage including yaml-based scenario tests for validation and execution.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 4 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
── end of results ──
$ submit: