10 repositorios
Libraries for defining bidirectional transformations between raw data formats and structured application types.
Distinguishing note: Focuses on bidirectional codec composition for data structures, distinct from generic database drivers or ORMs.
Explore 10 awesome GitHub repositories matching data & databases · Data Serialization Codecs. Refine with filters or upvote what's useful.
Zod is a TypeScript-first schema declaration and validation library designed to ensure end-to-end data integrity. It functions as a runtime type guard, allowing developers to define complex data structures through a declarative, chainable syntax. By using these schema definitions, the library automatically derives static TypeScript types, eliminating the need for manual type duplication and ensuring that runtime data matches expected application contracts. The library distinguishes itself through functional schema composition, which enables the creation of hierarchical structures by nesting a
Enables the composition of bidirectional data transformations to handle complex structures with full type safety.
Redisson is a Java library and Redis client that functions as a distributed Java object mapper, caching provider, and locking framework. It maps Java collections and concurrency primitives to distributed implementations backed by Redis and Valkey, providing synchronous, asynchronous, and reactive APIs for interacting with these data stores. The project distinguishes itself by providing a comprehensive suite of distributed coordination tools, including a locking framework for managing semaphores and countdown latches across multiple application nodes. It also serves as a distributed messaging
Implements pluggable data serialization codecs such as JSON, Kryo, and Protobuf for transforming Java objects into byte arrays.
grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for high-performance service communication. It uses the HTTP/2 protocol to execute functions on remote servers as if they were local methods and utilizes protobuf service bindings to generate type-safe client and server code. The project features a bidirectional streaming transport that supports asynchronous, full-duplex message streams between clients and servers. This networking layer allows for various communication patterns, including client-to-server and server-to-client streaming, to
Uses pluggable codecs to decouple message serialization from the transport layer, transforming data into wire format.
Temporal is a distributed workflow orchestration engine designed to manage fault-tolerant, stateful, and long-running background processes. It functions as a platform for coordinating complex cross-service operations, ensuring consistency and reliability in distributed environments by decoupling workflow orchestration from task execution. The platform distinguishes itself through a deterministic, event-sourced execution model that reconstructs workflow state by re-executing code from an immutable event log. This approach isolates non-deterministic side effects into managed activities, allowin
Registers external codec servers to encode and decode sensitive workflow and activity payloads for secure data handling.
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
Supports custom codecs for encoding and decoding complex objects into database-compatible formats.
ethers.js is an Ethereum JavaScript library used to interact with the Ethereum blockchain by querying state and sending transactions via JSON-RPC providers. It functions as a smart contract wrapper, a Web3 provider interface, and a system for managing wallets and cryptographic signatures. The project provides a dedicated Ethereum Name Service resolver for translating human-readable names into blockchain addresses through forward and reverse lookup operations. It also includes an implementation for managing private keys and mnemonic phrases to sign digital data and authorize on-chain transacti
Implements bidirectional codecs to translate between JavaScript objects and blockchain hexadecimal bytes.
io-ts is a TypeScript runtime validation library that provides a composable codec system for decoding and encoding data at the boundaries of an application. It defines data schemas using structural types, where the shape of data determines its validity rather than nominal names, and produces runtime type guards from those definitions for efficient validation checks. The library is built around bidirectional codec mappings that combine decoding, encoding, and type checking into single reusable units. It supports a composable decoder pipeline where small validation steps can be chained together
Combines decoders and encoders into reusable units that can be composed across data types.
Lettuce is a Redis client library for Java that provides synchronous, asynchronous, and reactive programming models for interacting with Redis databases. It supports standalone, cluster, sentinel, pub/sub, and search operations through a single thread-safe connection model that handles command execution without blocking the calling thread. The library distinguishes itself through its reactive streams integration with Project Reactor, enabling non-blocking, backpressure-aware data processing with Mono and Flux types. It offers cluster slot routing that transparently handles MOVED and ASK redir
Transforms Java objects to Redis wire format using pluggable serializers for UTF-8, JSON, or binary content.
Cellnet is a Go networking framework designed for building distributed systems and peer-to-peer networks. It provides a multi-protocol transport layer that standardizes message exchange across TCP, UDP, and WebSockets, utilizing a binary message codec system to map message types to unique identifiers for network transmission. The framework is distinguished by its remote procedure call library, which enables the execution of functions on remote peers using synchronous or asynchronous request patterns. It further differentiates itself with an asynchronous event dispatcher that processes network
Implements a pluggable codec system allowing multiple serialization formats to be used for different peers simultaneously.
Solana Web3.js is a TypeScript and JavaScript client library for interacting with the Solana blockchain. It functions as a web3 client that provides an RPC wrapper for managing network requests and a toolkit for querying account state and executing on-chain program instructions. The library includes a specialized cryptography interface for generating key pairs and performing asynchronous signing and verification using web cryptography standards. It also provides a serialization tool for encoding and decoding data between JavaScript objects and byte buffers to match on-chain program state. Th
Implements bidirectional codecs for transforming complex JavaScript objects into raw byte buffers.