Releases: Lukatrum/omni-json-db
v2.12.00: Documentation
📝 Release v2.12.00
This release focuses on improving documentation accessibility and developer experience. No functional changes or bug fixes are included in this update.
✨ Documentation Updates
-
Sphinx-Ready Docstrings: Conducted a comprehensive audit and update of all modules within the codebase. Every function, class, and method now includes descriptive, Sphinx-compliant docstrings.
-
ReadTheDocs Support: By standardizing our internal documentation format, the project is now fully prepared for seamless integration with ReadTheDocs. This ensures that developers can easily navigate our API references, type hints, and usage guidelines via a generated web interface.
🛠️ Scope
-
Functional Changes: None.
-
Bug Fixes: None.
-
Documentation: Full coverage of API documentation strings across the entire repository.
v2.11.0: Seamless Data Migration & Multi-Format Import
🚀 Release v2.11.0: Seamless Data Migration & Multi-Format Import
We are excited to announce omni-json-db v2.11.0! This release focuses heavily on Seamless Data Migration, introducing a built-in conversion engine that effortlessly transforms existing datasets and configuration files into our high-performance NoSQL structures.
Importing and exporting your data is now achievable with just a single line of code.
✨ Key New Features
Relational to NoSQL Transformation (SQLite): You can now load an entire SQLite database directly into omni-json-db. The engine automatically maps your existing SQLite tables into distinct, isolated "groups" within the JSON database.
Native Configuration Parsing (INI & TOML): Easily ingest structured configuration files. This is perfect for initializing your database state from existing application configurations or transforming standard config files into queryable, time-travel-enabled database objects.
Streamlined Data Integration: Combined with our existing native CSV hooks , these new import capabilities make migrating legacy data or integrating with external systems an absolute breeze.
+1
💻 Quick Implementation Examples
1. One-Line SQLite Import
Transitioning from a relational model to omni-json-db is now incredibly simple. Tables automatically become manageable groups.
from omni_json_db import JDb
jdb = JDb("migrated_data.jdb")
# Load an entire SQLite database with one line of code
jdb.from_sqlite('sample.sqlite')
# SQLite tables automatically become groups
projects = jdb['projects']
print(projects[3]['name']) # Query relational data using the NoSQL interface2. INI & TOML Configuration Loading
Load configuration files directly from paths or string streams.
from omni_json_db import JDb
import io
config_db = JDb()
# Load INI Format (Supports direct file paths or string buffers)
ini_data = """
[server]
host = 127.0.0.1
"""
config_db.from_ini(io.StringIO(ini_data))
print(config_db['server/host']) # Output: 127.0.0.1
# Load TOML Format
toml_data = """
app_name = "Omni Test"
"""
config_db.from_toml(io.StringIO(toml_data))
print(config_db['/app_name']) # Output: Omni Test🛠️ Getting Started
Upgrade to the latest version via pip:
pip install --upgrade omni-json-db👥 Contributing & Feedback
Contributions to omni-json-db are always welcome! Whether you are reporting a bug, discussing improvements, or writing extensions, we appreciate your support. Feel free to open a fresh issue to start a discussion around a feature idea.
Full Changelog: v2.08.00...v2.11.00