6 dépôts
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 est une bibliothèque de validation de données et un framework d'analyse pour Python. Il fonctionne comme un validateur de schéma basé sur les types qui utilise les annotations de type Python standard pour garantir que les données d'entrée sont conformes à des schémas structurels prédéfinis. Le projet fournit des capacités pour analyser des données brutes en objets typés via la conversion et la validation automatique de type. Cela inclut la sérialisation des données et la validation des structures de données pour garantir l'exactitude. Le framework couvre plusieurs domaines d'application, incluant la vérification des requêtes API et la gestion des configurations d'application. Il permet la transformation de formats bruts comme JSON en objets Python structurés.
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.
Ce projet est une collection de scripts pratiques et de guides de référence qui démontrent des fonctionnalités et idiomes avancés du langage Python. Il fournit des implémentations de code pour maîtriser des concepts tels que la concurrence, la métaprogrammation et la conception de structures de données. Le dépôt inclut des exemples du modèle d'objet Python, couvrant l'accès aux attributs personnalisés, les protocoles de descripteur et les surcharges de méthodes spéciales. Il présente également des implémentations de patterns de conception qui utilisent des fonctions de première classe et des décorateurs pour réduire le boilerplate orienté objet. La base de code couvre un large éventail de capacités, notamment la programmation asynchrone avec des boucles d'événements et des futures, la création de séquences et de générateurs personnalisés, et l'utilisation de classes de base abstraites pour l'application d'interfaces. Il démontre en outre la gestion des ressources via des gestionnaires de contexte et la manipulation de séquences de texte et d'octets.
Code demonstrating custom attribute access, descriptor protocols, and special method overrides for Python objects.
CPython-Internals est un guide d'implémentation technique et une référence pour l'interpréteur CPython. Il fournit une analyse détaillée du code source C interne et de l'architecture, en se concentrant sur la logique qui régit le comportement de l'interpréteur. Le projet documente le modèle d'objet Python et le pipeline de compilation, retraçant le processus depuis la grammaire brute et les arbres de syntaxe abstraits jusqu'au bytecode exécutable. Il sert également de référence pour le développement d'extensions C, expliquant comment interfacer avec les structures de données internes et utiliser l'API C. Le matériel couvre la gestion de la mémoire, incluant le comptage de références et le garbage collection générationnel, ainsi que la fonction du verrou global de l'interpréteur (GIL).
Examines the low-level C implementation of the Python object model and internal data structures.
python-miio est une bibliothèque Python et une implémentation de pilote matériel du protocole Miio, conçue pour contrôler et gérer les appareils intelligents Xiaomi. Elle fournit les interfaces logicielles nécessaires pour traduire les commandes de haut niveau en paquets réseau pour la communication avec les appareils. Le projet inclut un simulateur de périphérique réseau spécialisé pour émuler les réponses matérielles afin de tester les implémentations de protocole sans appareils physiques. Il dispose également d'une interface en ligne de commande pour envoyer des commandes, interroger le statut de l'appareil et effectuer la récupération de jetons pour une authentification sécurisée. Les domaines de capacités couvrent la découverte réseau IoT pour identifier les modèles d'appareils et les adresses IP, ainsi que l'analyse de protocole via l'analyse de captures de paquets réseau. La bibliothèque prend en charge l'introspection des fonctionnalités de l'appareil pour récupérer des métadonnées concernant les capteurs disponibles et les paramètres configurables.
Uses Python descriptors to define sensor schemas and settings for automatic interface generation.