4 dépôts
Hierarchical object models that automatically serialize and deserialize nested child objects from dictionaries.
Distinct from Message Object Models: Distinct from Message Object Models: focuses on serialization/deserialization of nested structures, not email message modeling.
Explore 4 awesome GitHub repositories matching software engineering & architecture · Nested Object Serializers. Refine with filters or upvote what's useful.
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
Defines hierarchical data models where child objects automatically serialize and deserialize alongside their parent.
pdfminer est une bibliothèque Python pour analyser les fichiers PDF afin d'extraire du texte, analyser les mises en page, déchiffrer le contenu et convertir des documents aux formats HTML ou XML. Il fonctionne comme un moteur d'extraction de texte et un outil d'analyse de mise en page conçu pour récupérer les caractères et les mots tout en préservant l'organisation structurelle du document original. Le projet fournit des utilitaires pour convertir le contenu PDF en HTML ou XML structuré afin de maintenir la mise en page visuelle, ainsi qu'un outil de déchiffrement pour déverrouiller les documents restreints à l'aide de clés de chiffrement. Il identifie les positions et les regroupements d'éléments textuels pour reconstruire l'organisation des pages et récupérer les plans hiérarchiques. La bibliothèque couvre un large spectre du traitement PDF, incluant l'extraction de métadonnées, l'analyse de mise en page de documents et l'exportation d'objets PDF internes pour le débogage. Elle gère la récupération du texte ainsi que les coordonnées, les métadonnées de police et le sens d'écriture.
Traverses nested PDF dictionaries and arrays to resolve document properties and structural outlines.
Grobid est un système de machine learning conçu pour transformer les publications académiques et scientifiques PDF en XML structuré. Il fonctionne comme un analyseur PDF vers XML et un extracteur de métadonnées savantes, identifiant et normalisant les titres, auteurs, affiliations et références bibliographiques des articles de recherche. Le système utilise un segmenteur de documents par deep learning pour diviser les PDF bruts en régions fonctionnelles et emploie un résolveur de références bibliographiques pour faire correspondre les citations avec des registres externes pour l'enrichissement des métadonnées et la résolution de DOI. Il prend en charge un pipeline complet d'entraînement de modèles de machine learning, permettant la génération de corpus d'entraînement annotés, le réentraînement de modèles et l'exportation de binaires de modèles. Le projet couvre un large éventail de capacités d'extraction, y compris l'analyse des en-têtes de documents, la structuration du corps du texte intégral et l'identification d'entités spécifiques au domaine comme les informations de financement et les citations de brevets. Il fournit également des outils d'analyse spatiale pour l'extraction de boîtes englobantes et le mappage de coordonnées afin de synchroniser les étiquettes sémantiques avec la mise en page PDF originale. L'application peut être déployée via des images conteneurisées et inclut des utilitaires en ligne de commande pour le traitement par lots multi-threadé de grandes collections de documents.
Segments the PDF body into structured elements including paragraphs, section titles, footnotes, and figures.
Jbuilder est un moteur de template et constructeur JSON pour Ruby qui fournit un langage dédié (DSL) pour générer des objets JSON structurés. Il sert d'assistant de vue pour transformer des données au format JSON en utilisant de la logique, des conditions et des boucles. Le projet permet la construction de structures de données complexes grâce à l'utilisation de partiels et d'objets imbriqués pour maintenir la modularité. Il inclut des capacités de transformation de clés à l'exécution, permettant aux clés d'attributs d'être converties entre différentes conventions de nommage telles que le snake case et le camel case. Le système prend en charge la structuration JSON dynamique avec la possibilité de définir des clés à l'exécution et de gérer la sortie des valeurs nulles. Il fournit également un mécanisme pour mettre en cache les fragments JSON rendus afin de réduire les traitements répétitifs.
Allows embedding objects within other objects to construct complex, reusable, and hierarchical data components.