13 repositorios
Attaching custom metadata to class attributes for use by serialization, validation, or other external tools.
Distinct from Custom Attribute Validators: None of the candidates cover general-purpose metadata attachment to class attributes for tool interoperability.
Explore 13 awesome GitHub repositories matching development tools & productivity · Attribute Metadata Annotations. Refine with filters or upvote what's useful.
CUE is a constraint-based configuration language designed for data validation, schema definition, and code generation. At its core, it unifies types and values into a single concept, enabling compile-time validation that catches structural and value errors before runtime. The language treats data and constraints as the same thing, allowing a single definition to serve as both a schema and concrete configuration data. CUE distinguishes itself through its constraint-based unification engine, which combines multiple configuration sources into a single coherent result by merging their constraints
Attaches metadata like @go(Field) or @xml(attr) to fields for mapping to external representations.
attrs is a Python library that automatically generates initialization, representation, equality, hashing, and ordering methods from declarative class attribute definitions. At its core, it provides a class decorator metaprogramming framework that intercepts class creation to rewrite the class body, producing dunder methods without manual boilerplate. The library includes a comprehensive attribute validation toolkit with built-in validators for type checks, range constraints, regex matching, length limits, and logical composition of validation rules. The library distinguishes itself through it
Attaches custom metadata to each attribute so external tools can read it for serialization or validation.
Swashbuckle.AspNetCore es una herramienta de especificación de API y generador de documentación para ASP.NET Core. Extrae metadatos del código fuente y modelos para producir especificaciones OpenAPI estandarizadas e interfaces de navegador interactivas para explorar y probar APIs web. El proyecto integra un componente de middleware para servir estas especificaciones y una Swagger UI para pruebas interactivas de API directamente desde una aplicación en ejecución. También proporciona un exportador de línea de comandos para extraer archivos de especificación de ensamblados de aplicaciones para su uso en pipelines de CI/CD. La herramienta cubre una amplia gama de capacidades, incluyendo la gestión de esquemas para tipos complejos, anotación de metadatos mediante atributos y comentarios XML, y configuración de seguridad para OAuth 2.0 y claves API. Soporta además la gestión de contratos de API, versionado de especificaciones y pipelines de generación personalizables para filtrar o modificar operaciones.
Defines descriptions and requirement flags for path, query, and header parameters to clarify input expectations.
Este proyecto es una herramienta de análisis estático y linter para Elixir diseñado para imponer una estructura visual unificada en los codebases. Sirve como especificación para el formato de código, convenciones de nombres y estándares de documentación. La herramienta proporciona un sistema estandarizado para el uso de mayúsculas/minúsculas y prefijos en archivos, funciones y variables. También establece directrices para formatear las descripciones de módulos y funciones para garantizar una documentación técnica consistente. El proyecto cubre una amplia gama de áreas de calidad de código, incluyendo la organización de diseños de módulos, la implementación de patrones de comentarios y la estandarización de aserciones de prueba. También proporciona orientación sobre expresiones idiomáticas del lenguaje y la definición de especificaciones de tipos.
Scans module and function attributes to ensure required documentation blocks and type definitions are present.
Fury es un framework de serialización binaria multilenguaje diseñado para codificar objetos de dominio y grafos complejos para facilitar el intercambio de datos entre lenguajes. Incluye un compilador de lenguaje de definición de interfaz (IDL) que traduce definiciones de esquemas a tipos nativos idiomáticos y código repetitivo de serialización en múltiples lenguajes. El proyecto se distingue por un lector binario de copia cero (zero-copy) que permite acceder a campos específicos sin deserializar todo el objeto, así como un serializador de grafos de objetos que preserva las referencias circulares y la integridad referencial. También cuenta con un convertidor de datos que transforma datos binarios basados en filas a formatos columnares de Apache Arrow para cargas de trabajo analíticas. El framework cubre amplias áreas de capacidad, incluyendo la evolución de esquemas basada en metadatos para compatibilidad hacia adelante y hacia atrás, un proceso de compilación AOT en tiempo de construcción para eliminar la reflexión en tiempo de ejecución y la deserialización segura mediante validación de tipos basada en listas blancas. Además, proporciona integración para llamadas a procedimientos remotos de alto rendimiento a través de gRPC.
Attaches metadata to fields using annotations to provide encoding hints and reference tracking.
This project is a command-line schema-to-code converter designed to transform diverse data specifications into type-safe Python data structures. It functions as a generator for Pydantic models, dataclasses, and typed dictionaries, enabling developers to maintain synchronization between evolving data contracts and application code. By parsing formats such as JSON Schema, OpenAPI, AsyncAPI, Protobuf, and Avro, the tool automates the creation of native classes that reflect the constraints and metadata defined in the source specifications. The generator distinguishes itself through a highly confi
Uses annotated syntax for field definitions to preserve schema constraints and metadata in generated code.
RAML is a declarative YAML-based specification language used for modeling RESTful interfaces and data structures. It functions as a contract-first API framework and modeling standard, establishing a formal agreement for service communication and a single source of truth before implementation begins. The specification enables the automation of functional mock servers and the generation of language-specific client SDKs directly from the definition files. It supports a modular approach to API design through the use of external libraries, overlays for extending contracts, and reusable traits and
Supports user-defined annotations to provide additional metadata for tooling or service discovery.
This project serves as the core integration layer for building full-stack web applications in PHP. It provides a unified foundation by connecting essential infrastructure components, including a dependency injection container, an event dispatcher, and a request routing engine. The framework operates through a kernel-based request lifecycle that transforms incoming HTTP requests into responses via prioritized middleware stages. The system distinguishes itself through a highly modular architecture that relies on configuration-driven service wiring and metadata-driven attribute mapping. During t
Uses metadata-driven attribute mapping to automate routing, validation, and security configurations.
This project is a PHP-based framework designed for the automated development of standardized web services. It functions as a backend toolkit that maps internal data models to REST and GraphQL endpoints, providing built-in support for resource management, data serialization, and hypermedia-aware API operations. The framework distinguishes itself through a metadata-driven architecture that uses class-level attributes to automatically derive API schemas, validation rules, and documentation. By analyzing these definitions at runtime, it generates machine-readable specifications and interactive in
Uses class-level attributes to derive API schemas, validation rules, and serialization logic from data models.
This library is a PHP-based serialization framework designed to convert complex object graphs into structured formats such as JSON, XML, YAML, and CSV, and to reconstruct those objects from serialized data. It functions as a data transformation tool that maps object properties to array structures, facilitating both application state persistence and the exchange of data between systems. The framework distinguishes itself through a two-stage pipeline that normalizes objects into intermediate structures before encoding them into specific formats. It supports advanced mapping requirements, includ
Uses native language attributes to define serialization rules and property mappings directly on class definitions.
Diagram Maker es una biblioteca basada en web diseñada para construir herramientas interactivas de visualización de gráficos y modelado de datos. Proporciona un marco para renderizar estructuras de nodos y enlaces, permitiendo a los usuarios crear entornos de edición personalizados donde las relaciones de datos complejas pueden visualizarse y manipularse directamente en el navegador. La biblioteca utiliza una arquitectura modular impulsada por complementos que permite a los desarrolladores extender la funcionalidad de edición central para cumplir con requisitos específicos sin alterar el código fuente subyacente. Gestiona el estado de la aplicación a través de un almacén centralizado e inmutable, asegurando que las interacciones y las actualizaciones de datos permanezcan consistentes en todo el espacio de trabajo. El marco admite una gama de capacidades visuales y analíticas, incluida la capacidad de anotar metadatos en conexiones, calcular límites espaciales para un posicionamiento preciso de objetos y aplicar temas de color alternativos. Maneja las interacciones del usuario a través de un sistema impulsado por eventos que coordina las actualizaciones entre la interfaz visual y el modelo de datos subyacente.
Allows attaching custom metadata to connections between nodes to track data attributes.
This library provides a framework for defining typed, immutable data structures in PHP. It enables developers to construct structured objects from raw input arrays, ensuring consistent data shapes and schema integrity across different layers of an application. By enforcing strict property types and validation rules during instantiation, the library prevents invalid data states and simplifies the handling of complex information. The project distinguishes itself through its use of attribute-driven metadata, which allows for property renaming, custom validation, and serialization logic directly
Uses language-level attributes to define property metadata, validation rules, and serialization behavior directly within class definitions.
Hibernate Validator es una implementación de referencia de la especificación Jakarta Validation, sirviendo como un framework para imponer la integridad de datos a través de aplicaciones Java. Funciona como un motor de validación declarativo que procesa restricciones de objetos para asegurar que el estado de la aplicación permanezca consistente. Utilizando reglas basadas en metadatos, la librería valida propiedades de objetos, parámetros de métodos y colecciones anidadas para mantener estándares de datos a través de las capas de una aplicación. La librería se distingue por su capacidad para realizar análisis estático en configuraciones de validación, identificando errores estructurales antes del tiempo de ejecución. Soporta requisitos complejos de integridad de datos permitiendo a los desarrolladores definir lógica de validación personalizada e integrarse con sistemas de inyección de dependencias. El motor también cuenta con un sistema de interpolación de mensajes que proporciona reportes de error localizados, asegurando que el feedback se adapte a entornos de usuario específicos. Más allá de la validación central, el proyecto incluye utilidades de diagnóstico para benchmarking de rendimiento y perfilado de ejecución para monitorear el rendimiento y el uso de recursos. Proporciona opciones de configuración flexibles, permitiendo que las reglas se definan mediante anotaciones o descriptores externos, e incluye adaptadores especializados para extraer valores de diversas fuentes de datos.
Automatically interprets metadata tags on object fields or methods to apply validation logic during execution without requiring manual checks.