6 repository-uri
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 este o bibliotecă de validare a datelor și un framework de parsare pentru Python. Acesta funcționează ca un validator de schemă bazat pe tipuri care utilizează adnotările de tip standard Python pentru a se asigura că datele de intrare respectă schemele structurale predefinite. Proiectul oferă capabilități pentru parsarea datelor brute în obiecte tipizate prin conversia și validarea automată a tipurilor. Aceasta include serializarea datelor și validarea structurilor de date pentru a asigura corectitudinea. Framework-ul acoperă mai multe domenii de aplicare, inclusiv verificarea cererilor API și gestionarea configurațiilor aplicațiilor. Acesta permite transformarea formatelor brute precum JSON în obiecte Python structurate.
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.
Acest proiect este o colecție de scripturi practice și ghiduri de referință care demonstrează funcționalități și idiomuri avansate ale limbajului Python. Oferă implementări de cod pentru stăpânirea conceptelor precum concurența, metaprogramarea și designul structurilor de date. Repository-ul include exemple ale modelului de obiecte Python, acoperind accesul personalizat la atribute, protocoalele descriptorilor și suprascrierile metodelor speciale. De asemenea, conține implementări ale pattern-urilor de design care utilizează funcții de primă clasă și decoratori pentru a reduce boilerplate-ul orientat pe obiecte. Codul sursă acoperă o gamă largă de capabilități, inclusiv programarea asincronă cu bucle de evenimente și futures, crearea de secvențe și generatoare personalizate și utilizarea claselor de bază abstracte pentru impunerea interfețelor. Demonstrează, de asemenea, gestionarea resurselor prin context managers și gestionarea secvențelor de text și octeți.
Code demonstrating custom attribute access, descriptor protocols, and special method overrides for Python objects.
CPython-Internals este un ghid tehnic de implementare și referință pentru interpretorul CPython. Oferă o analiză detaliată a codului sursă C intern și a arhitecturii, concentrându-se pe logica care guvernează comportamentul interpretorului. Proiectul documentează modelul de obiecte Python și pipeline-ul de compilare, urmărind procesul de la gramatica brută și arborii de sintaxă abstractă până la bytecode-ul executabil. De asemenea, servește ca referință pentru dezvoltarea extensiilor C, explicând cum să interfațați cu structurile de date interne și să utilizați API-ul C. Materialul acoperă gestionarea memoriei, inclusiv numărarea referințelor și garbage collection-ul generațional, precum și funcția global interpreter lock (GIL).
Examines the low-level C implementation of the Python object model and internal data structures.
python-miio este o bibliotecă Python și o implementare de driver hardware a protocolului Miio, concepută pentru controlul și gestionarea aparatelor inteligente Xiaomi. Oferă interfețele software necesare pentru a traduce comenzile de nivel înalt în pachete de rețea pentru comunicarea cu dispozitivele. Proiectul include un simulator de dispozitiv de rețea specializat pentru emularea răspunsurilor hardware în scopul testării implementărilor de protocol fără dispozitive fizice. De asemenea, dispune de o interfață în linie de comandă (CLI) pentru trimiterea comenzilor, interogarea stării dispozitivului și efectuarea recuperării token-ului pentru autentificare securizată. Domeniile de capabilități acoperă descoperirea rețelei IoT pentru a identifica modelele de dispozitive și adresele IP, precum și analiza protocolului prin parsarea capturilor de pachete de rețea. Biblioteca suportă introspecția funcțiilor dispozitivului pentru a prelua metadate privind senzorii disponibili și setările configurabile.
Uses Python descriptors to define sensor schemas and settings for automatic interface generation.