22 Repos
Parses retrieved hash fields into application-defined data structures using field tags to automate data mapping and object hydration.
Distinct from Data Mapping: Distinct from Data Mapping: focuses on the specific process of object hydration from hash fields using struct tags.
Explore 22 awesome GitHub repositories matching data & databases · Struct Hydrators. Refine with filters or upvote what's useful.
This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive interface for managing remote data stores, enabling developers to execute standard database commands, handle complex data structures, and perform asynchronous operations within Go applications. The library distinguishes itself through its support for advanced Redis capabilities, including connection pooling, pipelining, and transactional integrity. It provides specialized primitives for managing distributed clusters, including automated topology updates and request routing to sha
Parses retrieved hash fields into application-defined data structures using field tags to automate data mapping and object hydration.
Dapper is a high-performance micro-ORM and SQL object mapper for .NET. It functions as an ADO.NET extension library that adds data mapping capabilities directly to database connections, allowing SQL query results to be transformed into typed objects. The project prioritizes execution speed and low memory overhead by using intermediate language generation to map database columns to object properties. It further optimizes performance through the use of concurrent caching for mapping functions and literal value injection to improve database execution plans. The library covers a broad range of d
Deserializes a single database row into several distinct objects to handle joined data and associations.
The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It provides a comprehensive walkthrough of the language's design, focusing on its core identity as a systems programming language that enforces memory safety and high-performance execution without the need for a garbage collector. The project is distinguished by its focus on ownership, borrowing, and lifetime tracking, which allow the compiler to verify memory safety and thread safety at compile time. It covers the language's unique approach to zero-cost abstractions, including t
Enforces data integrity by selectively exposing struct fields.
sqlx is a set of extensions for the Go database/sql package that reduces boilerplate code by automating the mapping of database query results directly into structs and slices. It provides a wrapper around standard database types to eliminate manual row scanning and repetitive error handling. The project distinguishes itself through named parameter binding and query placeholder rebinding, which translate generic markers into driver-specific symbols. It also enables dynamic SQL execution by allowing the application to read and execute SQL statements directly from the filesystem. The library co
Uses Go reflection to automatically match database column names to struct fields via custom tags or naming conventions.
This project is a type-safe database toolkit and object-relational mapper designed to enforce structural consistency between database schemas and application code. By leveraging compile-time validation, it ensures that SQL queries and data structures remain synchronized, preventing common errors before the application executes. It provides a comprehensive framework for relational data modeling, allowing developers to define table associations and map database results directly into strongly-typed language objects. The library distinguishes itself through its focus on compile-time safety and au
Automatically maps database result rows to strongly-typed application objects.
This project is a GraphQL implementation for Go, providing a complete suite for building GraphQL servers. It includes a schema engine for defining types, a query parser to convert strings into abstract syntax trees, and an execution engine that resolves fields against a defined schema to return structured data. The library distinguishes itself through reflection-based type mapping, allowing object definitions and arguments to be derived directly from native Go structs. It also supports the execution of real-time data streaming via GraphQL subscriptions and provides an extensible execution pip
Derives GraphQL argument definitions directly from native Go struct properties to simplify input handling.
This project is an educational blog and learning resource dedicated to the Rust programming language. It provides a collection of curated guides, technical articles, and structured learning paths designed to teach language fundamentals, concurrency, and systems programming. The repository distinguishes itself by offering practical implementation tutorials for complex systems. This includes detailed guides on compiler development—specifically translating source code into targets such as ARM64, x86_64, LLVM IR, and WebAssembly—as well as networking examples for building multithreaded chat serve
Demonstrates transforming database query results into strongly-typed language structures using derive macros.
mapstructure is a reflection-based library for the bidirectional encoding and decoding of generic map data into native typed Go structures. It functions as a tool for transforming loosely typed map values into specific structs and encoding those structs back into maps. The library utilizes Go reflection to map generic data keys to struct fields during runtime. It supports the transformation of untyped data from dynamic sources or configuration files into type-safe native structures. The mapping process includes recursive traversal of nested maps and slices, as well as the use of struct tags
Directly populates the memory addresses of target structures from generic maps using Go reflection.
This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre
Demonstrates restricting access to data fields within a structure to encapsulate internal implementation details.
go-tools is a collection of utilities for Go static analysis and memory layout optimization. It provides a toolset designed to analyze source code to detect bugs and dead code, alongside specialized tools for optimizing how structs are arranged in memory. The project includes a memory alignment visualizer to display physical memory layouts and padding, as well as a struct layout optimizer that reorders fields to minimize memory padding. Additionally, it provides a boilerplate generator to automate the creation of registration and test files required for developing custom Go analyzers. The to
Reorders fields within a struct to minimize padding and reduce the overall memory footprint.
CXX is a code generator that produces a safe, zero-overhead FFI bridge between Rust and C++. It lets functions and data types from either language be used directly in the other, with static type safety enforced at compile time and no copying, serialization, or runtime checks across the boundary. The bridge supports the full range of cross-language interactions: Rust can call C++ functions and use C++ types, and C++ can call Rust functions and use Rust types. Standard library types like strings, vectors, and smart pointers are mapped automatically between the two languages, while opaque types
Declares struct fields visible to both languages from a single source of truth, eliminating manual synchronization.
Ecto is an Elixir database toolkit that maps database rows to Elixir structs and validates data changes through changesets before persistence. It provides a language-integrated query syntax for composing database queries, building them incrementally and securely with compile-time expansion into safe SQL. The toolkit connects to multiple database backends including PostgreSQL, MySQL, MSSQL, SQLite3, ClickHouse, and ETS through a pluggable adapter interface. It supports eager and lazy preloading of associated records to eliminate N+1 query problems, and can store nested data structures as embed
Maps Elixir structs to database tables using declarative field definitions with type casting.
The Rust RFCs repository is the formal home for the Rust language evolution process, housing the structured design documents and community review mechanisms that govern changes to the Rust programming language, its compiler, and its standard library. It defines the complete lifecycle for proposing, discussing, and implementing substantial changes through RFC documents, from initial submission and community feedback through final comment periods and sub-team sign-offs. The repository codifies the governance and collaboration processes that shape Rust's development, including mechanisms for com
Defines the language's struct field visibility model with per-field pub annotations.
Rust-bindgen ist ein Build-Time-Generator für Foreign Function Interface (FFI)-Bindings und ein C-Header-Parser, der entwickelt wurde, um die Interoperabilität zwischen Sprachen zu automatisieren. Er fungiert als Tool, um Rust mit C-, C++- und Objective-C-Bibliotheken zu verbinden, indem er während des Kompilierungsprozesses plattformspezifische Deklarationen erstellt. Das Projekt zeichnet sich durch seine Fähigkeit aus, komplexe Sprachkonstrukte der C-Familie zu verarbeiten, einschließlich C++-Vererbung und -Methoden sowie Objective-C-Klassen und -Protokolle. Es stellt die binäre Kompatibilität über verschiedene Architekturen hinweg sicher, indem es zielspezifische Speicherlayouts berechnet und validiert, dass die generierten Strukturgrößen und Alignments mit den ursprünglichen Quelldefinitionen übereinstimmen. Das Tool bietet umfangreiches Typ-Mapping für C-Unions, Bitfields und flexible Array-Member, während nicht übersetzbare oder komplexe Standardbibliothekstypen auf opake Byte-Blobs abgebildet werden. Es enthält ein Konfigurationssystem zum Filtern von Bindings, zum Ersetzen komplexer Typen und zur Steuerung der Trait-Ableitung oder Feldsichtbarkeit. Generierte Bindings können extrahierte Dokumentationen aus System-Headern enthalten und werden durch einen Standard-Formatter verarbeitet, um ein konsistentes Code-Styling sicherzustellen.
Restricts access to structure fields by setting them as private to enforce data invariants.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Employs the splat operator to provide default values to struct initializers.
Anchor is a framework for building, testing, and deploying Solana smart contracts. It provides a Rust domain-specific language (DSL) that uses macro‑based instruction dispatch and derive‑macro account validation to automate ownership checks, discriminator enforcement, and serialization before instruction execution. The framework also includes a CLI toolchain for scaffolding, compiling, and managing contracts across workspaces, a test harness that simulates program execution with account manipulation and compute unit benchmarking, and an IDL generator that emits a standardized JSON interface fr
Reads instruction arguments from within Solana account structs by listing them in handler order.
Bun ist ein typsicherer Object-Relational-Mapper für Go, der SQL-first-Abfragekonstruktion und Result-Mapping priorisiert. Er fungiert als programmierbarer SQL-Abfrage-Builder, Datenbank-Verbindungsmanager und Tool zur Abbildung von Datenbanktabellen auf Go-Structs. Das Projekt zeichnet sich durch ein Multi-Dialekt-SQL-Unterstützungssystem aus, das es einer einzigen Codebasis ermöglicht, über eine konsistente Schnittstelle mit verschiedenen Datenbank-Engines zu interagieren. Es enthält ein integriertes Datenbank-Observability-Tool für Abfrage-Interzeption, verteiltes Tracing und Logging sowie ein Schema-Migrations-Tool zur Versionierung struktureller Änderungen. Die Bibliothek deckt ein breites Spektrum an Datenoperationen ab, einschließlich Bulk-Verarbeitung, Upserts, Soft-Deletes und der Verwaltung relationaler Daten wie polymorpher Assoziationen. Sie bietet Funktionen für fortgeschrittene SQL-Analysen unter Verwendung von Common Table Expressions und Window-Funktionen, neben atomarem Transaktionsmanagement und Connection-Pooling. Das Schema-Management wird über eine Kommandozeilenschnittstelle zur Anwendung versionierter Migrationsskripte unterstützt.
Automatically transforms database result sets into strongly-typed Go structures by matching columns to fields.
Prost ist eine Protocol-Buffers-Implementierung für Rust, die als binäres Serialisierungs-Framework und Codegenerator fungiert. Sie übersetzt Schemadefinitionen in idiomatische Rust-Structs und -Enums und bietet die Logik, die erforderlich ist, um strukturierte Daten in das binäre Protocol-Buffers-Format zu kodieren und zu dekodieren. Das Projekt zeichnet sich durch eine no-std-Implementierung aus, die es ermöglicht, in eingebetteten oder Kernel-Umgebungen zu operieren, denen eine Standardbibliothek fehlt. Es dient zudem als Schema-Introspektor durch das Ausgeben von File-Descriptor-Sets, was die programmatische Analyse ursprünglicher Schemadefinitionen zur Laufzeit ermöglicht. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich Service-Trait-Generierung für Schnittstellenmodellierung, Unterstützung für bekannte Typen und prozedurale Makro-Annotationen für das Mapping manueller Typdefinitionen. Sie bietet zudem Tools für Abhängigkeitsmanagement und Fuzz-Testing, um Serialisierungsstabilität zu gewährleisten.
Translates Protocol Buffer schema files into idiomatic Rust structs and enums for type safety.
Kimai is an open-source time tracking system that records employee working hours, manages absences, and generates professional invoices from recorded timesheets and expenses. It organizes all time records through a mandatory three-level hierarchy of customer, project, and activity, and supports project budget monitoring with configurable time and money limits. The application is extensible through a plugin system that allows adding custom features, invoice templates, reporting views, and dashboard widgets without modifying core files. It provides a RESTful JSON API for programmatic read and w
Controls whether custom fields appear in exports, API responses, or data tables.
Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations and dataclasses. It functions as an asynchronous GraphQL server and execution engine, providing a bridge to expose schemas across ASGI-compliant web frameworks such as FastAPI, Django, Flask, and Litestar. The project implements GraphQL Federation, allowing for the creation of distributed schemas and entities that merge into a unified supergraph across multiple services. It also includes a dedicated toolkit for the Relay specification, supporting global object identification a
Controls field visibility in the schema by overriding retrieval logic to support different access levels.