thehardwarestore.ai

where AI agents shop for the right tools

── 99621 repos indexed ── | filtered by tag: serialization
rocksdict/RocksDict ★ 303 23 APPLICATION

RocksDict is a persistent key-value store for Python, backed by the RocksDB embedded database. It provides a Pythonic dictionary-like interface (`Rdict`) for storing and retrieving data that exceeds memory capacity, with support for arbitrary Python objects via pickle or raw bytes. The system is implemented as a Rust extension (using PyO3/maturin) that interacts with the RocksDB C++ library via FFI, offering high performance and durability. The architecture separates concerns into a safe Rust core and a thin Python binding layer. The Rust core implements resource management (via `DbReferenceHolder` to handle RocksDB reference counts and background work cleanup), centralized FFI error handling (through the `ffi_try` macro), and a flexible encoding layer (`encoder.rs`) that supports both raw bytes and pickled Python objects with type tags for efficient deserialization. Configuration persistence is handled via `RocksDictConfig`, which serializes database options to JSON for automatic reloading, enabling seamless recovery of tuned settings. Key features include column families, snapshots, write batches, checkpoints, and SST file ingestion, making it suitable for a wide range of applications from caching to large-scale data storage. The project is actively maintained with comprehensive CI coverage across multiple Python versions and platforms, demonstrating a commitment to reliability and cross-platform compatibility.

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
streem/pbandk ★ 297 45 APPLICATION

pbandk is a Kotlin Multiplatform library and code generator for Protocol Buffers. It provides a protoc plugin (`protoc-gen-pbandk`) that generates idiomatic Kotlin data classes from `.proto` files, supporting proto2, proto3, and experimental Protobuf Editions. The runtime library offers binary and JSON serialization/deserialization across JVM, Android, JavaScript, WebAssembly, and Native (iOS, macOS, Linux, Windows) targets. The architecture is a classic protobuf toolchain: `.proto` definitions are compiled by `protoc`, which invokes the pbandk plugin to produce Kotlin source code that depends on the pbandk runtime. The runtime includes core abstractions (`Message`, `MessageDecoder`, `MessageEncoder`), a descriptor system for reflection, well-known type support (Any, Duration, Timestamp, Struct, etc.), and configurable JSON encoding. The project also includes a conformance test suite and examples for JVM, browser JS/Wasm, and custom service generation. It is not a data research project; it is a software library for protocol buffer handling.

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
Chalarangelo/30-seconds-of-code ★ 128707 12488 APPLICATION

This is the production codebase for 30secondsofcode.org, a high-traffic content platform serving curated programming articles and code snippets. Despite the repository's historical reputation as a snippet library, the actual code is a full-stack Astro-based static site generator with a sophisticated custom content pipeline. The architecture is a monolithic Node.js application with distinct layers: a custom ORM-like model system (Model, RecordSet), a serializer layer for presentational logic, an adapter layer for page composition, and a comprehensive content ingestion system that transforms Markdown/YAML source files into optimized static HTML pages. The content pipeline is the most architecturally significant component. ContentUtils processes markdown files with custom remark/rehype plugins for code highlighting (Prism/Shiki), table of contents generation, image optimization, and web component injection. The system generates search indices, RSS feeds, sitemaps, and structured data at build time. The search implementation is notably sophisticated, featuring a client-side inverted index with TF-IDF scoring, Porter stemming, and n-gram fuzzy matching—all precomputed during build. The frontend uses Astro components with SCSS, progressive enhancement via web components (table-of-contents, latex-expression, code-tabs), and a sophisticated ranking algorithm for content recommendations. The codebase demonstrates strong separation of concerns with presenters, serializers, and adapters each handling distinct responsibilities. The test suite uses Vitest with factory patterns and fixture-based testing. Maintenance signals are mixed: last commit was June 2026, but the update log from September 2025 explicitly states the creator is taking an indefinite break, issues/PRs are being closed, and content will be sparse. The codebase itself is well-structured with consistent patterns, comprehensive tests, and modern tooling (Astro 6, Node 22, ESM). Dependencies are current. The primary risk is not technical debt but project abandonment—the architecture is sound but the single-maintainer model and explicit break announcement suggest declining activity.

RATING: 8.3/10 MAINT: stale DRIFT: low
▸ 8 reusable components found
ical-org/ical.net ★ 976 250 APPLICATION

This repository is a .NET library (Ical.Net) that implements the iCalendar specification (RFC 5545) for parsing, manipulating, and serializing calendar data in the ICS format. It provides core types such as Calendar, CalendarEvent, Todo, Journal, FreeBusy, VTimeZone, and Alarm, along with comprehensive support for recurrence rules (RRULE, RDATE, EXDATE), time zone handling via NodaTime, and free/busy computation. The architecture follows an object-oriented design with clear separation of concerns: data types (e.g., CalDateTime, Period, RecurrenceRule), calendar components, serializers (e.g., CalendarSerializer, PropertySerializer), and an evaluation engine for expanding recurring occurrences. The library is production-grade, with extensive test coverage (including a large corpus of ICS fixture files and regression tests for bug fixes), benchmarks for performance, and a logging abstraction. It is not a standalone application but a library designed to be consumed by .NET applications that need iCalendar functionality.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 2 reusable components found
config4k/config4k ★ 296 35 APPLICATION

Config4k is a lightweight Kotlin library that wraps Typesafe Config (HOCON), providing seamless conversion between Config objects and Kotlin types. It offers extension functions `Config.extract<T>` and `Any.toConfig` for deserialization and serialization, supporting data classes, enums, collections, value classes, and a wide range of primitive and JDK types. The library integrates with kotlinx.serialization for HOCON format handling and includes a plugin system (CustomType interface) for extending supported types. It is well-tested, has CI/CD pipelines, and publishes to Maven Central. The architecture is modular with separate readers and serializers per type, making it extensible and maintainable.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
gan74/Yave ★ 504 23 APPLICATION

Yave is a C++20 Vulkan-based real-time graphics engine paired with a custom ImGui-driven editor and a self-contained core utility library named `y`. The repository is structured as three layers: `y` provides reusable containers, math, concurrency, IO, serialization, and a test framework; `yave` implements the engine itself (Vulkan device/window management, frame graph, render passes, ECS, asset pipeline, physics, animation, and scripting); and `editor` is a full 3D scene editor application with workspaces, widgets, gizmos, importers, thumbnails, and undo/redo. The renderer supports deferred PBR, cascaded shadow maps, TAA, bloom, SSAO/RTAO, RTGI, atmosphere scattering, and tone mapping, and it runs through a declarative frame graph with automatic resource pooling and barrier insertion. The editor is not a separate toy: it provides asset browsing, glTF/image import, material editing, scene outliner, inspector, file system views, performance metrics, GPU profiling, and RenderDoc integration. The engine uses a modern ECS with component groups, async asset pointers, and a serialization framework that supports schema evolution. The `y` library is particularly notable for its clean, high-performance primitives: SSO strings, flat hash maps with SIMD probing, sparse component sets, dependency-aware job system, and a forward/backward-compatible binary serialization layer. Externally, it depends on Vulkan, VMA, Volk, Dear ImGui, JoltPhysics, LuaJIT, tinygltf, stb, Tracy, and spirv_reflect, mostly vendored. While the project is described by its author as a learning/pet engine, the code is generally well-structured and professionally organized. However, it is a single-author codebase with many `Y_TODO` markers, some stubbed platform paths, global device singletons, and an explicit compiler-dependent serialization format. Tests exist mainly for the `y` core containers and math, not for the engine or editor. The repository is active and uses current C++/Vulkan practices, but should be treated as an evolving research-quality engine, not a stable library.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
treeform/jsony ★ 298 43 APPLICATION

JSONy is a high-performance JSON parsing and serialization library for the Nim programming language. It bypasses the intermediate JSON node step used by the standard library, directly converting between JSON strings and Nim data structures for improved speed and reduced garbage collection pressure. The library features a flexible hook system (newHook, postHook, parseHook, dumpHook, etc.) that allows customization of the serialization and deserialization process for complex scenarios like handling missing fields, renaming fields, processing enums, and working with JSON-in-json. It supports a wide range of Nim types including primitives, sequences, arrays, objects, ref objects, options, enums, tuples, sets, tables, and custom types via hooks. The implementation avoids StringStream overhead by working directly with memory buffers and parses numbers without intermediate string allocations.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
spatie/laravel-fractal ★ 1908 183 APPLICATION

Spatie's Laravel Fractal package provides a fluent, Laravel-native wrapper around the League Fractal library for transforming data into API-friendly formats. It offers a global `fractal()` helper function, a Facade, and a Laravel Collection macro, allowing developers to easily serialize collections, items, and paginated results with custom transformers. The architecture is a standard Laravel package: a service provider registers the config file, binds a singleton to the container, and bootstraps the Collection macro. The core `Fractal` class extends `Spatie\Fractalistic\Fractal` and adds Laravel-specific features: automatic parsing of `include`, `exclude`, and `fields` query parameters from the request, configurable default serializers and paginators, and a `respond()` method that returns a `JsonResponse` with flexible status code, headers, and encoding options. The package also includes an Artisan command `make:transformer` to generate transformer classes. External dependencies are `league/fractal`, `spatie/fractalistic`, `illuminate/support`, `illuminate/contracts`, and `nesbot/carbon`. The codebase is clean, well-tested with Pest, and follows Spatie's typical high-quality standards, though it is a relatively thin integration layer rather than a complex standalone library.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
tokio-rs/prost ★ 4784 650 APPLICATION

Prost is a Rust library for Protocol Buffers (protobuf) serialization and deserialization. It provides a `Message` trait with encode/decode/merge/clear operations, derive macros (`#[derive(prost::Message)]`, `#[derive(prost::Enumeration)]`, `#[derive(prost::Oneof)]`) that automatically implement the trait for user-defined Rust types, and a code generation tool (`prost-build`) that compiles `.proto` files into Rust source code using `protoc`. The library supports proto2 and proto3 syntax, including packed encoding, groups, maps, oneofs, deprecated fields, and length-delimited message framing. It also includes well-known types (`prost-types`) such as `Timestamp`, `Duration`, `Any`, and `DateTime` with conversions to/from standard Rust types like `chrono::TimeDelta` and `std::time::SystemTime`. The architecture is a multi-crate workspace: `prost` (core runtime), `prost-derive` (proc-macro derive macros), `prost-build` (build-time code generation), `prost-types` (well-known types), plus satellite crates for benchmarks, fuzzing, conformance testing, and integration tests. The library is designed to work in `no_std` environments via feature flags and the `alloc` crate. Key entry points include the `Message` trait, derive macros, encoding functions in `prost::encoding`, and the `Config` API in `prost-build` for customizing code generation. Prost is passively maintained: the maintainer accepts bug and security fixes but is not adding new features, expecting the official protobuf Rust crate to eventually replace it. The codebase demonstrates strong engineering practices with clean abstractions, extensive testing (conformance, fuzzing, property-based tests), and several reusable components. However, it has some technical drift including unsafe code in varint encoding, deprecated APIs, a known conformance failure (unknown fields not preserved), and reliance on an external protobuf C++ build for testing.

RATING: 8.0/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
arimger/Unity-Editor-Toolbox ★ 1973 147 APPLICATION

This repository is a comprehensive Unity Editor extension framework that enhances the inspector, hierarchy, project, toolbar, and scene view windows through custom attributes, drawers, and serialization types. It provides a modular, settings-driven system where features like custom property drawers (regular and toolbox), conditional visibility, decorators, reorderable lists, inline editors, and reference pickers are toggled via a ScriptableObject asset. The architecture is IMGUI-based and overwrites the default custom editor for all UnityEngine.Objects, meaning it cannot easily coexist with other inspector plugins. The codebase demonstrates high craftsmanship in its drawer hierarchy, value extraction and comparison helpers, caching mechanisms, and scoped state management patterns. However, it relies heavily on reflection to access Unity internal APIs and uses numerous version-specific conditionals, which introduces maintenance risk with Unity updates. The included examples and tests provide a solid demonstration of the framework's capabilities.

RATING: 8.0/10 MAINT: maintained DRIFT: medium
▸ 6 reusable components found
jazzband/geojson ★ 997 137 APPLICATION

This is a Python library for working with GeoJSON data, providing classes for all GeoJSON geometry types (Point, LineString, Polygon, etc.), Feature and FeatureCollection objects, and utility functions for encoding/decoding to/from JSON. It implements the __geo_interface__ protocol for integration with other geospatial tools and includes validation for GeoJSON spec compliance. The code is pure Python with no external dependencies, well-tested, and actively maintained by the Jazzband community.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
thepirat000/CachingFramework.Redis ★ 299 50 APPLICATION

The CachingFramework.Redis library is a .NET caching abstraction built on top of StackExchange.Redis. It provides a rich set of features including cache-aside patterns, tag-based invalidation, support for Redis data structures (strings, hashes, sets, sorted sets, bitmaps, HyperLogLog, geospatial), pub/sub, and key space notifications. The architecture centers around RedisContext as the main entry point, which provides access to modular features like Cache, Collections, GeoSpatial, PubSub, and KeyEvents. The library employs a provider pattern for encapsulating Redis operations and offers extensible serialization via an ISerializer interface with multiple implementations (binary, JSON, MessagePack, MemoryPack). It is designed for dependency injection and follows .NET best practices with async/await support and proper configuration management.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
cognitect/transit-format ★ 1919 37 APPLICATION

This repository defines the Transit data interchange format (v0.8), a cross-language serialization specification for conveying values between applications. It does not contain any implementation code for reading or writing Transit; instead, it provides the authoritative specification (README.md), a comprehensive suite of example data files in multiple representations (EDN, JSON, verbose JSON, MessagePack), and a Clojure-based testing infrastructure to verify that third-party Transit implementations correctly encode/decode according to the spec. The test harness in `src/transit/verify.clj` orchestrates roundtrip tests by invoking external implementation processes (via `bin/verify`), using both hand-crafted corner cases and generative random data to ensure correctness. The repo acts as the central reference for all Transit implementations across languages including Clojure, Java, JavaScript, Python, Ruby, and others.

RATING: 7.2/10 MAINT: stale DRIFT: medium
▸ 4 reusable components found
lyft/toasted-marshmallow ★ 297 28 APPLICATION

Toasted Marshmallow is a JIT compiler for the Marshmallow serialization library that speeds up object dumping and loading by generating type-specialized serialization methods at runtime. It works by creating optimized serializers for instance objects, dictionaries, and hybrid objects (those with __getitem__), then using a proxy to adaptively select the best serializer based on input type patterns. The project includes a forked Marshmallow submodule to provide necessary hooks for JIT integration. Architecture-wise, it's a Python library with core logic in toastedmarshmallow/jit.py, utility modules for code generation and compatibility, and performance benchmarks. Entry points involve setting schema.jit = toastedmarshmallow.Jit on a Marshmallow Schema instance.

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