Skip to content

Releases: Lukatrum/omni-json-db

v2.12.00: Documentation

19 May 08:27

Choose a tag to compare

📝 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

14 May 11:33

Choose a tag to compare

🚀 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 interface

2. 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