30 open-source projects similar to riok/mapperly, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Mapperly alternative.
Mapster is a .NET object-to-object mapper and high-performance mapping engine used for transforming data between different object models. It functions as a type-safe data transfer tool and a LINQ query projection tool to move data between internal logic and external data structures. The engine utilizes compiled mapping expressions and machine code to reduce overhead during object conversion. It specifically allows for projecting queryable data sources directly into destination types to optimize database retrieval. The toolset covers data transfer object generation, immutable data transformat
AutoMapper is a strongly typed object-to-object mapper for .NET. It provides utilities for copying data between different object representations using convention-based property matching to eliminate manual assignment code. The library automates the transformation of data models by matching source and destination properties based on shared names and types. It supports the conversion of internal domain models into data transfer objects, facilitating data movement between presentation, business, and data access layers. The system employs reflection-based type discovery and recursive object grap
AutoMapper is a .NET object-to-object mapper designed to transfer data between different object types. It functions as an automated mapping library that reduces the need for manual property assignments by using naming conventions to match properties between classes. The library focuses on automating data projection and the conversion of internal domain models into data transfer objects. It supports layered architecture decoupling by mapping data between domain entities and view models. The system employs convention-based member matching, flattening-based property projection, and recursive ty
This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental principles of the language, including its structural type system, static type analysis, and the process of transpiling typed source files into JavaScript. The material details how to model complex data and reusable type logic using generics, conditional types, and mapped types. It also explains the use of declaration files to provide type safety for external JavaScript libraries and the integration of type checking into existing JavaScript projects via JSDoc annotations. The
Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs into a compact binary format for high-performance data exchange. It includes an IDL-based schema compiler to transform interface definition language files into type-safe native data models and a schema evolution manager to maintain forward and backward compatibility. The project features a zero-copy data access layer that allows reading specific fields from binary rows without deserializing the entire object. It supports dual-mode serialization, enabling a toggle between a por
Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact binary format and restore them from bytes. It provides a system for creating deep or shallow copies of complex object graphs without requiring binary conversion. The project utilizes variable-length integer encoding and integer-ID class registration to reduce the size of serialized data. It handles complex object graphs through circular reference tracking to prevent data duplication and infinite loops. To maintain long-term data viability, it includes schema evolution managemen
Memgraph is an in-memory, distributed graph database designed for high-performance labeled property graph management. It utilizes a Cypher query engine for declarative data retrieval and manipulation, providing a scalable knowledge graph backend that integrates vector search and graph traversals. The system distinguishes itself as a real-time graph analytics platform, employing native C++ and CUDA implementations to execute complex network analysis and dynamic community detection on streaming data. It provides specialized support for AI integration, including GraphRAG capabilities, the constr
Moshi is a JSON serialization library and parser for Kotlin and Java. It functions as a reflectionless JSON encoder that converts typed objects to JSON strings and parses JSON data back into language objects. The library distinguishes itself through compile-time adapter generation, which removes the performance overhead associated with runtime reflection. It also provides a polymorphic JSON mapper that uses type identifiers to resolve and instantiate specific subclasses of a common base type. The framework supports custom adapter definitions for specialized type conversion, including nullabi
Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It functions as a real-time OLAP datastore, enabling interactive, user-facing analytics by ingesting and querying massive datasets from both streaming and batch sources. The system architecture relies on a centralized controller for cluster coordination and a distributed segment-based storage model to ensure horizontal scalability. The platform distinguishes itself through a hybrid ingestion pipeline that unifies real-time event streams and historical batch data into a single quer
This project is a Java annotation processing framework and source code generator designed to automate repetitive boilerplate and reduce manual coding errors. It functions as a toolkit for building custom annotation processors that produce source code, metadata, and type definitions during the compilation process. The framework specifically automates the creation of immutable value types with built-in equality and hashing logic, as well as the generation of factory implementations for dependency injection. It also handles the automated production of service provider configuration files to enab
AndroidAnnotations is a boilerplate generator and component annotation library designed for Android development. It functions as a dependency injection framework that uses custom annotations to automate the wiring of activities, fragments, and services. The project focuses on reducing manual plumbing through the automation of Android boilerplate. It provides automated solutions for dependency injection and view binding, removing the need for repetitive calls to locate UI elements or manually write factory classes. The library covers activity lifecycle management and the generation of standar
YamlDotNet is a YAML serialization library and data mapping tool for .NET. It functions as a parser and generator that converts between .NET objects and YAML formatted text for data storage and configuration. The project provides capabilities for YAML document parsing and data object mapping. It transforms YAML streams into low-level representations or high-level object models for programmatic analysis and converts structured data objects back into valid YAML strings. The library covers general data serialization and configuration file management, allowing application data structures to be m
The .NET Compiler Platform is a collection of open-source APIs for C# and Visual Basic that provides deep code analysis, refactoring, and automated source code generation. It serves as the core infrastructure for building development tools, offering a platform to inspect, modify, and understand source code through immutable syntax trees and semantic models. The platform distinguishes itself by providing full-fidelity syntax trees that preserve every character of source code, including whitespace and comments, alongside an incremental compilation pipeline that enables near-instant feedback dur
This project is a multi-language quine relay, a collection of source code files where each program outputs the source code for the next in a sequence until the original code is recreated. It serves as a technical demonstration of recursive program execution and polyglot code generation, verifying the integrity of multi-stage code cycles across diverse programming languages. The system distinguishes itself through automated relay orchestration, which triggers sequential compilation and execution steps to ensure the entire chain functions correctly. Each program contains the encoded logic requi
F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite
type-fest is a library of reusable utility types for performing complex transformations and validations on objects, arrays, strings, and numeric ranges in TypeScript. It provides a collection of type definitions designed to handle advanced structural changes and constraints. The project distinguishes itself by offering specialized logic for string literal processing, such as casing transformations and pattern-based modifications, and type-level arithmetic for calculating numeric ranges and absolute values. It also includes utilities for enforcing deep immutability, ensuring union mutual exclu
This is a TypeScript utility type library providing advanced type aliases and mapped types for complex object and union transformations. It implements specialized tools for creating branded nominal types, extracting type metadata, and performing set operations on union types. The project distinguishes itself through a toolkit for recursive object transformations, allowing for the application of property constraints like read-only or optional status across deeply nested structures. It also provides a system for computing intersections, differences, and complements between union types to simula
Entitas is a data-oriented Entity Component System framework for Unity. It is designed to separate game state into components and logic into systems, utilizing a data-oriented design to optimize CPU cache usage, memory usage, and processing speed. The framework includes a C# source code generator that automatically produces boilerplate classes, entity accessors, and context singletons to reduce manual coding. It also provides a Unity editor debugging tool for real-time runtime state visualization, system performance monitoring, and visual entity inspection. The system manages entity lifecycl
OneOf is a C# discriminated union library and source generator that provides functional sum types. It serves as a strongly typed polymorphism tool, allowing developers to define method parameters and return values that can be exactly one of several specific types. The project implements functional programming patterns to replace generic base classes with type-safe unions. It utilizes a source generator to automatically produce the boilerplate code required to manage these union type hierarchies during compilation. The library provides mechanisms for pattern matching and union value extractio
MapStruct is an annotation processor and Java bean mapping framework that automatically generates high-performance data transfer code during the compilation process. It serves as a type-safe data mapper for converting information between different object types, specifically targeting Java beans and records. The project replaces manual boilerplate code by using Java interfaces as blueprints to generate concrete implementation classes. This approach ensures type safety and minimizes manual getter and setter calls by producing direct method calls during compilation. The framework handles data t
ts-toolbelt is a collection of specialized utilities for manipulating and validating TypeScript types. It provides a toolkit for performing complex transformations on objects, unions, and functions to enforce strict data consistency at compile time. The library features dedicated transformers for function types, including utilities for currying, composition, and signature extraction. It also includes an object type manipulator for deep merging, patching, and reshaping complex structures. The capability surface extends to literal string processing, type-level arithmetic, and tuple operations.
MJExtension is a JSON serialization library and model mapping framework used to convert data between JSON strings and structured model objects. It functions as an object data mapper that handles the encoding and decoding of complex object hierarchies for network transmission and storage. The framework is a non-intrusive data mapper that uses reflection and runtime inspection to map raw data strings to application objects. This approach allows for data transformation without requiring base class inheritance, decorators, or extensions to the underlying model classes. The system supports recurs
This project provides the core framework and system API layer for the Android operating system. It consists of the fundamental Java and C++ libraries that define system behavior and establish the interface contracts required for system applications and hardware abstraction. The project includes a runtime optimizer used to reduce startup time and improve execution speed by pre-compiling methods and configuring boot images. It also features a software quality toolchain that enforces code formatting, audits commit metadata, and manages API compatibility to ensure stable interface contracts acros
Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th
This project is an instructional repository and learning resource providing a comprehensive collection of study notes, programming guides, and runnable source code examples. It serves as a guide for Java SE and Java web development, featuring a library of code samples that demonstrate common algorithms and technical implementations. The repository focuses on language core and runtime analysis, with detailed tutorials on multithreading and concurrency. It provides practical implementations of software architecture and design patterns, such as the singleton and strategy patterns, as well as exp
Pyrefly is a static type checker for Python that operates as a language server, delivering real-time diagnostics, completions, and navigation in any editor supporting the Language Server Protocol. It also performs static tensor shape analysis, using symbolic dimension variables and arithmetic to verify shape consistency in deep learning models without runtime execution. Beyond core type checking, Pyrefly supports gradual adoption workflows: it can generate a baseline of known errors so only new issues are reported, migrate configuration from other type checkers, and automatically suppress exi
Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as an object schema validator and a data coercion engine, allowing developers to transform raw input values into desired types before performing validation checks. The library is distinguished by its support for dynamic schema validation, where rules can be adjusted at runtime based on sibling field values or external context. It also enables recursive data structuring for polymorphic fields and provides a system for extracting static TypeScript interfaces from runtime schema def
This project is a SwiftUI app template and architectural blueprint for building iOS applications. It implements Clean Architecture and the MVVM pattern to separate business logic, data access, and the user interface into distinct layers. The framework utilizes a dependency injection container to manage object lifetimes and a flow coordinator pattern to handle navigation and screen transitions independently from the view layer. The codebase includes systems for network data management, featuring remote data pagination, cache-backed retrieval, and data mapping via data transfer objects. It als
Ebean is a Java object-relational mapping framework designed to simplify database persistence through automated query generation, schema migration, and transaction management. It uses metadata-driven mapping and bytecode enhancement to bridge the gap between application objects and relational database tables, providing a persistent layer that handles complex data interactions while maintaining consistency across unit-of-work boundaries. The framework distinguishes itself through its focus on developer productivity and performance optimization. It provides type-safe query builders that generat
Util is a comprehensive development framework for .NET designed to implement layered architectures and domain driven design. It provides a toolkit of base classes and tools for building full stack applications, specifically focusing on the creation of backend admin frameworks and management interfaces. The project distinguishes itself through a boilerplate generator that produces the necessary types and classes to standardize repetitive architectural patterns. It also includes a micro-frontend orchestrator that enables the splitting of large frontend modules into independent projects for sepa