22 repositorios
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 es un generador de enlaces de interfaz de funciones extranjeras en tiempo de compilación y analizador de encabezados C diseñado para automatizar la interoperabilidad entre lenguajes. Funciona como una herramienta para unir Rust con librerías C, C++ y Objective-C produciendo declaraciones específicas de la plataforma durante el proceso de compilación. El proyecto se distingue por su capacidad para manejar construcciones de lenguaje de la familia C complejas, incluyendo herencia y métodos de C++, así como clases y protocolos de Objective-C. Asegura la compatibilidad binaria entre diferentes arquitecturas calculando diseños de memoria conscientes del objetivo y validando que los tamaños y alineaciones de las estructuras generadas coincidan con las definiciones de origen originales. La herramienta proporciona un mapeo de tipos extenso para uniones C, campos de bits y miembros de matriz flexibles, mientras mapea tipos de librería estándar complejos o intraducibles a blobs de bytes opacos. Incluye un sistema de configuración para filtrar enlaces, sustituir tipos complejos y controlar la derivación de rasgos o la visibilidad de campos. Los enlaces generados pueden incluir documentación extraída de los encabezados del sistema y se procesan a través de un formateador estándar para asegurar un estilo de código consistente.
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 es un mapeador objeto-relacional (ORM) con seguridad de tipos para Go que prioriza la construcción de consultas SQL primero y el mapeo de resultados. Funciona como un constructor de consultas SQL programable, un gestor de conexiones de base de datos y una herramienta para mapear tablas de bases de datos a structs de Go. El proyecto se distingue por un sistema de soporte SQL multi-dialecto, permitiendo que una única base de código interactúe con diferentes motores de base de datos a través de una interfaz consistente. Incluye una herramienta de observabilidad de base de datos incorporada para la interceptación de consultas, rastreo distribuido y registro, así como una herramienta de migración de esquemas para el versionado de cambios estructurales. La biblioteca cubre una amplia gama de operaciones de datos, incluyendo procesamiento por lotes, upserts, eliminaciones lógicas (soft deletes) y la gestión de datos relacionales como asociaciones polimórficas. Proporciona capacidades para análisis SQL avanzados utilizando expresiones de tabla comunes (CTE) y funciones de ventana, junto con la gestión de transacciones atómicas y agrupación de conexiones (connection pooling). La gestión de esquemas es compatible a través de una interfaz de línea de comandos para aplicar scripts de migración versionados.
Automatically transforms database result sets into strongly-typed Go structures by matching columns to fields.
Prost es una implementación de Protocol Buffers para Rust que funciona como un framework de serialización binaria y generador de código. Traduce definiciones de esquema a structs y enums idiomáticos de Rust, proporcionando la lógica necesaria para codificar y decodificar datos estructurados en el formato binario de Protocol Buffers. El proyecto se distingue por una implementación no-std, permitiéndole operar en entornos embebidos o de kernel que carecen de una biblioteca estándar. También sirve como un introspector de esquemas emitiendo conjuntos de descriptores de archivos, lo que permite el análisis programático de definiciones de esquema originales en tiempo de ejecución. La biblioteca cubre una amplia gama de capacidades, incluyendo generación de rasgos de servicio para modelado de interfaces, soporte para tipos bien conocidos y anotaciones de macros procedimentales para mapear definiciones de tipos manuales. También proporciona herramientas para la gestión de dependencias y pruebas de fuzzing para asegurar la estabilidad de la serialización.
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 es una biblioteca GraphQL con tipado fuerte para Python que permite el diseño de esquemas utilizando anotaciones de tipo y dataclasses de Python. Funciona como un servidor GraphQL asíncrono y motor de ejecución, proporcionando un puente para exponer esquemas a través de frameworks web compatibles con ASGI como FastAPI, Django, Flask y Litestar. El proyecto implementa GraphQL Federation, permitiendo la creación de esquemas y entidades distribuidas que se fusionan en un supergrafo unificado a través de múltiples servicios. También incluye un kit de herramientas dedicado para la especificación Relay, soportando la identificación global de objetos y la paginación basada en conexiones. El framework cubre un amplio conjunto de capacidades, incluyendo streaming de datos en tiempo real mediante WebSockets y Server-Sent Events, mapeo de modelos Pydantic y generación automática de código. Proporciona herramientas integradas para seguridad y observabilidad, como limitación de complejidad de consultas, control de acceso basado en roles y rastreo de métricas de ejecución. Los desarrolladores pueden realizar prototipos utilizando un servidor de desarrollo integrado con una interfaz de inspección de esquemas interactiva.
Controls field visibility in the schema by overriding retrieval logic to support different access levels.