21 dépôts
Mechanisms for saving complex in-memory data structures to persistent storage.
Distinct from Object Storage Persistence: Candidates focus on remote object storage or ORM mapping, not local serialization of arbitrary data structures.
Explore 21 awesome GitHub repositories matching data & databases · Object Persistence. Refine with filters or upvote what's useful.
Instantiator is a PHP library designed to create class instances without invoking their constructors. It uses the PHP Reflection API to allocate objects in memory and initialize them in a predefined state, bypassing standard constructor logic. The project functions as a data hydration tool and a testing helper. It enables the population of PHP objects from external data sources by mapping values directly to properties, regardless of whether those properties are public, protected, or private. This capability allows for the generation of objects in specific internal states for unit tests withou
Saves complex in-memory PHP data structures to persistent storage.
Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc
Allows saving and retrieving data without writing manual SQL by mapping objects to storage.
Torch7 is a scientific computing environment and tensor computation library used for deep learning research and numerical analysis. It functions as a Lua-based framework for training neural networks and learning agents, providing a toolkit for implementing architectures and training through reinforcement learning algorithms. The project is distinguished by its tight integration with C, utilizing a binding layer to map high-level scripting to low-level C structures for direct memory access. It supports hardware-accelerated computation by offloading linear algebra and convolution operations to
Allows saving and loading arbitrary data structures to disk to preserve state and share data.
MJExtension is a JSON serialization library and model mapping framework used to convert data between JSON strings and structured model objects. It functions as an object data mapper that handles the encoding and decoding of complex object hierarchies for network transmission and storage. The framework is a non-intrusive data mapper that uses reflection and runtime inspection to map raw data strings to application objects. This approach allows for data transformation without requiring base class inheritance, decorators, or extensions to the underlying model classes. The system supports recurs
Saves and retrieves complex in-memory model structures to persistent storage.
This project is a Go library and runtime for loading and managing eBPF programs and maps. It provides a bytecode loader and kernel interface to inject instructions into kernel hooks for system-level execution and observability across both Linux and Windows operating systems. The library features a relocation engine and tooling to ensure program compatibility across different kernel versions and distributions. It supports portable deployment by embedding compiled objects for multiple CPU architectures into a single binary and provides the ability to load signed system drivers on Windows. The
Creates and manages persistent objects on the filesystem to survive process termination.
Flashlight est une bibliothèque de machine learning et de tenseurs autonome en C++ utilisée pour construire et entraîner des réseaux de neurones. Elle fonctionne comme un framework complet de réseaux de neurones et un moteur de différenciation automatique, fournissant les outils pour construire des graphes de calcul et calculer les gradients via la rétropropagation. Le projet sert de framework d'entraînement distribué, utilisant des opérations all-reduce pour synchroniser les gradients et les paramètres sur plusieurs nœuds de calcul et appareils. Il se distingue par une intégration profonde de la manipulation de tenseurs haute performance, l'interopérabilité native de la mémoire des appareils et un système pour synchroniser les poids entre les workers distribués afin d'accélérer l'entraînement de modèles à grande échelle. Le framework couvre un large éventail de capacités de deep learning, incluant la composition modulaire de couches pour concevoir des architectures complexes comme des blocs résiduels et des cellules récurrentes. Il fournit des utilitaires étendus de gestion de données pour l'ingestion et le préchargement, ainsi que des systèmes de sérialisation pour persister les états de modèle. De plus, il inclut une suite d'outils de surveillance et d'observabilité pour suivre les métriques d'entraînement et mesurer les erreurs de séquence. La bibliothèque est implémentée en C++.
Provides mechanisms to save and load individual class members and instances to preserve state between executions.
Flashlight est une bibliothèque de machine learning en C++ et un framework de deep learning conçu pour construire et entraîner des réseaux de neurones. Il fonctionne comme une bibliothèque de manipulation de tenseurs et un moteur de différenciation automatique qui suit les opérations pour calculer les gradients via la rétropropagation pour l'optimisation des modèles. Le projet se distingue par son rôle de framework d'entraînement distribué, utilisant la synchronisation de gradient all-reduce et des environnements distribués pour mettre à l'échelle les charges de travail de machine learning sur plusieurs nœuds et appareils. Il dispose d'une interface mémoire agnostique au backend et d'une gestion basée sur RAII pour découpler les opérations sur tenseurs du matériel physique. Le framework couvre une large surface de capacités, incluant la construction d'architectures de réseaux de neurones avec des couches convolutionnelles, linéaires et récurrentes. Il fournit des utilitaires étendus pour l'algèbre tensorielle, la gestion et le batching de jeux de données, la sérialisation binaire versionnée pour les états de modèle, et des outils de surveillance pour suivre les métriques d'entraînement et l'utilisation de la mémoire.
Provides mechanisms for persisting and restoring complex in-memory objects to maintain state across executions.
protobuf-net est un framework de sérialisation binaire et une bibliothèque .NET qui implémente la spécification Protocol Buffers. Il fonctionne comme un outil de sérialisation basé sur un schéma et un mappeur de données "contract-first", convertissant des graphes d'objets complexes en un format binaire compact pour le stockage et la transmission réseau. La bibliothèque permet l'échange de données multiplateforme et la mise en réseau haute performance en réduisant la taille des charges utiles et le temps de traitement. Elle prend spécifiquement en charge la persistance de la hiérarchie des objets, permettant la sérialisation et la reconstruction de structures de classes complexes incluant l'héritage et les types dérivés. Le projet couvre des capacités fondamentales, notamment la sérialisation et la désérialisation de données binaires, la génération de classes pilotée par schéma et la gestion de l'héritage de types via des identifiants uniques. Il fournit des mécanismes pour mapper les structures de données via des attributs statiques ou des configurations dynamiques au runtime.
Provides mechanisms for saving and restoring complex .NET class structures, including inherited types.
Urho3D is a cross-platform 3D game engine written in C++. It uses a component-based scene graph to compose game objects from nodes and attached components, separating transforms from behaviors for modular design. The engine integrates AngelScript and Lua scripting for game logic, uses the Bullet library for physics simulation, and renders scenes with OpenGL or Direct3D through forward, deferred, or light pre-pass pipelines with customizable render passes and shadow mapping. The engine distinguishes itself with a built-in visual scene and UI editor for composing 3D worlds and interface layouts
Saves and loads object properties to binary or XML via declared attributes for durable game state.
ActiveAndroid is an object-relational mapper and data persistence library for Android. It serves as a high-level wrapper for SQLite databases, translating database records into class instances to facilitate data manipulation. The library enables data persistence without the need to write manual SQL queries. It maps database rows to Java objects, allowing records to be saved, retrieved, and deleted using object-oriented methods. The toolkit covers local mobile data storage and database management, providing a layer that links database table structures to specific object properties.
Allows saving complex in-memory data structures to persistent storage using object-oriented methods.
ObjectBox Java est une base de données d'objets NoSQL embarquée pour Java et Android qui stocke les objets de données directement sans mappage relationnel. Elle fonctionne comme un moteur de stockage en processus natif, permettant aux applications de persister des classes Java ou Kotlin simples en tant qu'entités. Le projet se distingue par une capacité de base de données vectorielle sur l'appareil, utilisant des index HNSW pour effectuer des recherches de voisins les plus proches approximatifs et des requêtes de similarité sémantique. Il inclut également un navigateur web hébergé localement pour visualiser les objets de données, les schémas et les diagrammes de dépendance. La base de données couvre un large éventail de capacités de gestion de données, incluant des transactions atomiques conformes ACID, des flux de données réactifs pour des observations en temps réel et la synchronisation de données multiplateforme. Sa surface de stockage prend en charge le mappage objet-relation avec chargement différé (lazy loading), le filtrage basé sur les propriétés et la capacité d'initialiser le magasin de données en mémoire pour la mise en cache ou les tests automatisés.
Persists lists and arrays of fixed-type values and binary blobs directly within a data object.
REFramework is a runtime modding framework for games built on the RE Engine, providing a C# plugin system with typed proxy code generation, a Lua scripting interface, an ImGui-based UI system, a runtime debugging toolkit, and a VR integration layer. At its core, it intercepts and modifies internal game engine functions and state at runtime through hooking and scripting APIs, enabling deep inspection and manipulation of live game objects. The framework distinguishes itself through typed proxy code generation that auto-creates C# interfaces from the game's type database, giving compile-time saf
REFramework marks managed objects as global so the .NET garbage collector does not reclaim them while the game still holds references.
Joblib est une suite d'utilitaires pour paralléliser les charges de travail computationnelles et optimiser le stockage de grands jeux de données numériques et de résultats de fonctions. Elle fonctionne comme une bibliothèque de calcul parallèle et un wrapper de multiprocessing qui distribue l'exécution des fonctions sur plusieurs cœurs CPU pour accélérer les tâches indépendantes et les boucles computationnelles. Le projet fournit un framework de mise en cache sur disque qui persiste les sorties de fonctions coûteuses sur le système de fichiers, en les réévaluant uniquement lorsque les arguments d'entrée changent. Il se spécialise en outre dans la sérialisation de grands tableaux numériques, utilisant une compression efficace et un mappage mémoire pour optimiser le stockage et la récupération de jeux de données massifs. La boîte à outils inclut des capacités pour le mappage de fonctions parallèles et l'utilisation de backends d'exécution enfichables pour contrôler la façon dont les tâches sont distribuées sur le matériel disponible. Sa couche de stockage couvre la persistance d'objets complexes et la compression transparente pour les données sérialisées.
Provides mechanisms for saving and loading complex in-memory Python objects and arrays to persistent storage.
MongoEngine est un mapper objet-document (ODM) Python qui traduit les enregistrements de base de données en objets pour fournir une interface orientée objet pour la persistance des données. Il sert de gestionnaire de documents et de validateur de schéma pour MongoDB, mappant les classes aux documents pour appliquer les types de données et les règles de validation. Le projet fournit un système de queryset à chargement différé (lazy-loaded) pour filtrer, trier et agréger des collections en utilisant une syntaxe Pythonique. Il gère des structures de données complexes via des fonctionnalités telles que l'héritage de documents, la gestion récursive de documents imbriqués et la liaison d'objets basée sur des références. La bibliothèque couvre de larges capacités, notamment la migration de schéma, la recherche plein texte et la gestion de fichiers binaires volumineux via le système de fichiers GridFS. Elle inclut également des outils pour l'optimisation des index de base de données, le profilage des performances des requêtes et des hooks de cycle de vie basés sur des signaux pour automatiser la logique lors des événements de document.
Creates and updates documents in the database by persisting object attributes.
AdalFlow est un framework d'agents IA autonomes et une bibliothèque d'applications LLM conçue pour construire des flux de travail modulaires. Il sert d'interface agnostique au modèle et d'orchestrateur de pipeline RAG, permettant aux utilisateurs de développer des agents ReAct qui utilisent un raisonnement itératif et l'exécution d'outils externes pour résoudre des tâches complexes. Le projet se distingue par un système d'optimisation de prompt qui utilise la descente de gradient textuelle pour affiner automatiquement les templates de prompt et les exemples few-shot. Il traite le feedback du modèle comme un signal différentiable, permettant une forme de rétropropagation LLM pour améliorer itérativement la qualité de sortie basée sur des métriques d'évaluation. Le framework couvre une large surface de capacités, incluant la génération augmentée par récupération (RAG) avec recherche vectorielle sémantique et reranking, le traçage d'exécution basé sur les spans pour l'observabilité, et l'analyse structurée pilotée par schéma. Il fournit une couche de communication unifiée pour de nombreux fournisseurs de modèles propriétaires et open source, et prend en charge la conversion de fonctions Python en interfaces d'outils standardisées. Le système est implémenté en Python et s'intègre avec MLflow pour le suivi et l'analyse des flux de travail.
Saves and loads Python objects using JSON, CSV, and Pickle formats to persist application state.
Ce projet est une base de connaissances personnelle basée sur Markdown et un journal d'apprentissage numérique utilisé pour stocker des notes et des résumés de livres et de littérature technique. Il sert de dépôt de résumés de lecture et de bibliothèque de référence technique pour archiver les points clés et les idées tirés de documents non-fictionnels et professionnels. La collection fonctionne comme un jardin numérique pour organiser les idées issues de livres, d'articles et de vidéos. Elle se concentre spécifiquement sur la distillation de modèles architecturaux complexes, de concepts techniques et de principes de leadership professionnel dans un format interrogeable pour une référence à long terme. Le dépôt organise également les connaissances personnelles à travers la collecte de frameworks de réflexion réutilisables, de modèles mentaux et d'outils de prise de décision professionnelle. Il inclut un système pour suivre la progression de lecture en gérant des listes d'ouvrages terminés et en cours.
Stores technical references on mechanisms for saving complex in-memory data structures to persistent storage.
Ce projet est une bibliothèque de persistance d'objets et une couche d'abstraction de mappage de données. Il fournit un ensemble d'interfaces partagées et de classes de base conçues pour découpler la logique métier des implémentations spécifiques de mappage d'objets, séparant ainsi la couche domaine de l'implémentation sous-jacente d'accès aux données. La bibliothèque inclut un outil de gestion de schéma de base de données et de migration pour définir, versionner et déployer des mises à jour incrémentielles des structures de base de données dans différents environnements. Elle fonctionne également comme un mappeur de base de données documentaire, traduisant les états des objets en formats de documents structurés pour le stockage et la récupération. Le système couvre un large éventail de capacités de persistance, notamment la gestion de collections d'objets et la possibilité d'instancier des objets sans invoquer de constructeurs pour restaurer leur état. Il fournit également des utilitaires pour le versionnage de schéma de base de données et la diffusion d'événements personnalisés afin de permettre aux composants découplés de réagir aux changements de persistance.
Defines shared interfaces for saving and retrieving complex objects from persistent data stores.
This project is a C++ learning resource and study guide consisting of structured notes and programming examples. It provides practical implementations and exercise solutions covering core language syntax, data types, and control flow. The repository features specialized samples for object-oriented design, including class inheritance, polymorphism, and abstract classes. It includes demonstrations of memory management techniques such as dynamic allocation, move semantics, and placement new, as well as template programming examples for creating generic functions and data structures. The codebas
Implements serialization for a hierarchy of derived objects using type identifiers for restoration.
Odin Serializer est un framework conçu pour le moteur de jeu Unity afin de convertir des graphes d'objets complexes en formats binaires ou JSON persistants. Il fournit un système pour sauvegarder et charger des structures de classe complexes, incluant des génériques imbriqués et des types polymorphes, tout en maintenant l'intégrité structurelle des données. Le framework se distingue par sa prise en charge de la compilation ahead-of-time, générant les métadonnées de type nécessaires pendant le processus de build pour garantir la fonctionnalité sur les plateformes qui restreignent la réflexion à l'exécution. Il s'intègre directement au cycle de vie du moteur Unity, permettant la sérialisation de types spécifiques au moteur et la gestion des références d'actifs externes via des identifiants persistants uniques. Les utilisateurs peuvent définir des politiques de sérialisation granulaires pour contrôler quels membres de classe sont inclus ou exclus pendant le processus de conversion. Cette capacité permet l'optimisation du stockage et de la transmission des données en garantissant que seules les informations requises sont traitées, tandis que le moteur sous-jacent gère le mappage récursif des hiérarchies d'héritage complexes.
Hooks into native persistence workflows to inject custom data and handle complex engine-managed types.
Realm Kotlin is a local, object-oriented NoSQL database engine designed for Kotlin Multiplatform applications. It enables developers to persist structured application data directly as objects, eliminating the need for traditional relational table structures while ensuring information remains accessible during offline periods. The library distinguishes itself through a compiler-plugin-based architecture that maps standard language classes to database models at compile time. It utilizes zero-copy memory mapping and a lazy-loading query engine to manage data efficiently, while a shared C++ core
Facilitates saving structured application objects to a local database for offline access and cross-platform synchronization.