6 repositorios
Use of Python descriptor protocols to manage attribute access and modification.
Distinguishing note: Existing candidates refer to GPU, OS file, or platform descriptors, not Python language descriptors.
Explore 6 awesome GitHub repositories matching software engineering & architecture · Python Descriptors. Refine with filters or upvote what's useful.
Pydantic es una biblioteca de validación de datos y un framework de análisis para Python. Funciona como un validador de esquemas basado en tipos que utiliza anotaciones de tipo estándar de Python para garantizar que los datos de entrada se ajusten a esquemas estructurales predefinidos. El proyecto proporciona capacidades para analizar datos sin procesar en objetos tipados mediante la conversión y validación automática de tipos. Esto incluye la serialización de datos y la validación de estructuras de datos para garantizar la corrección. El framework cubre varias áreas de aplicación, incluyendo la verificación de solicitudes de API y la gestión de configuraciones de aplicaciones. Permite la transformación de formatos sin procesar como JSON en objetos estructurados de Python.
Uses Python descriptors to intercept attribute access for real-time validation and casting.
This project is a Chinese translation of a technical reference and educational resource focused on the Python interpreter. It serves as a collection of case studies and examples designed to explain unintuitive execution patterns, obscure language behaviors, and the internal mechanics of the Python language specification. The resource translates complex technical explanations from English to Chinese to improve accessibility. It focuses on mapping specific code patterns to internal execution logic, linking observed results to language rules to resolve confusing behaviors. The content covers se
Illustrates how Python descriptor protocols are used to manage attribute access and generate bound methods.
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
Implements Python descriptor protocol to control attribute access, initialization, and validation.
Este proyecto es una colección de scripts prácticos y guías de referencia que demuestran características e idiomas avanzados del lenguaje Python. Proporciona implementaciones de código para dominar conceptos como concurrencia, metaprogramación y diseño de estructuras de datos. El repositorio incluye ejemplos del modelo de objetos de Python, cubriendo acceso a atributos personalizados, protocolos de descriptor y anulaciones de métodos especiales. También presenta implementaciones de patrones de diseño que utilizan funciones de primera clase y decoradores para reducir el código repetitivo orientado a objetos. El código base cubre una amplia gama de capacidades, incluyendo programación asíncrona con bucles de eventos y futuros, la creación de secuencias y generadores personalizados, y el uso de clases base abstractas para la aplicación de interfaces. Además, demuestra la gestión de recursos a través de gestores de contexto y el manejo de secuencias de texto y bytes.
Code demonstrating custom attribute access, descriptor protocols, and special method overrides for Python objects.
CPython-Internals es una guía técnica de implementación y referencia para el intérprete CPython. Proporciona un análisis detallado del código fuente en C interno y su arquitectura, centrándose en la lógica que gobierna el comportamiento del intérprete. El proyecto documenta el modelo de objetos de Python y el pipeline de compilación, rastreando el proceso desde la gramática cruda y los árboles de sintaxis abstracta hasta el bytecode ejecutable. También sirve como referencia para el desarrollo de extensiones en C, explicando cómo interactuar con estructuras de datos internas y utilizar la API de C. El material cubre la gestión de memoria, incluyendo el conteo de referencias y la recolección de basura generacional, así como la función del Global Interpreter Lock (GIL).
Examines the low-level C implementation of the Python object model and internal data structures.
python-miio es una biblioteca de Python y una implementación de controlador de hardware del protocolo Miio, diseñada para controlar y gestionar electrodomésticos inteligentes de Xiaomi. Proporciona las interfaces de software necesarias para traducir comandos de alto nivel en paquetes de red para la comunicación con el dispositivo. El proyecto incluye un simulador de dispositivos de red especializado para emular respuestas de hardware y probar implementaciones de protocolos sin dispositivos físicos. También cuenta con una interfaz de línea de comandos para enviar comandos, consultar el estado del dispositivo y realizar la recuperación de tokens para una autenticación segura. Las áreas de capacidad cubren el descubrimiento de redes IoT para identificar modelos de dispositivos y direcciones IP, así como el análisis de protocolos mediante el análisis de capturas de paquetes de red. La biblioteca admite la introspección de características del dispositivo para recuperar metadatos sobre sensores disponibles y configuraciones ajustables.
Uses Python descriptors to define sensor schemas and settings for automatic interface generation.