Skip to content

v2.11.0: Seamless Data Migration & Multi-Format Import

Choose a tag to compare

@Lukatrum Lukatrum released this 14 May 11:33
· 85 commits to main since this release

🚀 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