Metadata-Version: 2.4
Name: ndca
Version: 1.0.0
Summary: NDCA (Nested Data Collection API) — a fast, safe, and human-readable nested data storage and manipulation library for Python.
Author: Viren Sahti
License: License & Disclaimer
        Copyright © 2026-2027 Viren Sahti
        
        This software is provided "as is", without any warranty, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, or non-infringement.
        
        By using this software, you agree that Viren is not responsible for any direct or indirect damages, loss of data, profits, or other consequences arising from:
        - Misuse of the software
        - Criminal activity, hacking, or any illegal use
        - Modifications or derivative works
        - Software bugs, failures, or security breaches
        
        This software may only be used for legitimate purposes. Redistribution, modification, or claiming the code as your own is strictly prohibited. All rights remain with Viren Sahti.
        
        Use at your own risk.
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

NDCA 1.0.0 — Nested Data Collection API

NDCA (Nested Data Collection API) is a high-performance, secure, and production-ready Python library for managing deeply nested structured data using a compact, human-readable format. It is designed for reliability, atomic persistence, safe in-memory operations, and a clean, intuitive API suitable for scripts, services, and small-to-medium projects.

Key Features:
- **Human-readable format:** Store and read nested dictionaries and lists in a clear, concise structure.
- **Safe operations:** All reads and writes use deep-copy semantics to prevent accidental mutation.
- **Atomic file writes:** Data is safely persisted to disk, ensuring integrity even during crashes or interruptions.
- **Optional autosave:** Automatically save changes to the assigned file (`file("x.ndca", autosave=True)`).
- **Flexible path-based access:** Get, write, and delete nested values using dot notation for dictionaries (`a.b.c`) and bracket notation for lists (`arr[0]`, `arr[]`).
- **Merge and append:** Merge dictionaries (`merge`) or append items to lists (`append`) effortlessly.
- **Pop and update:** Remove or retrieve values (`pop(path, default)`) and update values with a callback (`update(path, fn, default)`).
- **Numeric and boolean utilities:** Increment numbers (`incr(path, step)`) and toggle booleans (`toggle(path)`).
- **Key management:** Rename keys or paths (`rename(old_path, new_path)`) and clear any path safely (`clear_path(path)`).
- **Full serialization support:** Convert to and from NDCA text format (`dumps(data)` / `loads(text)`).
- **Version:** 1.0.0 — stable, fully-featured, and production-ready.

Usage Example:
```python
from ndca import NDCA, file, get, write, delete, wipe, save, dump, merge, append, pop, update, incr, toggle, rename, clear_path, loads, dumps

db = NDCA("data.ndca", autosave=True)
db.write("user.name", "Viren")
db.append("user.scores", 10)
db.incr("user.level")
db.toggle("user.active")
db.rename("user.name", "user.username")
text = db.dumps()
new_data = loads(text)
