nedb-engine 2.2.32__tar.gz → 2.3.33__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/PKG-INFO +5 -3
  2. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/README.md +4 -2
  3. nedb_engine-2.3.33/examples/mini-chain/README.md +39 -0
  4. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/pyproject.toml +1 -1
  5. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/__init__.py +1 -1
  6. nedb_engine-2.3.33/python/nedb/_native.abi3.so +0 -0
  7. nedb_engine-2.3.33/python/nedb/nedbd-v2 +0 -0
  8. nedb_engine-2.3.33/python/nedb/nedbd-v2.exe +0 -0
  9. nedb_engine-2.2.32/python/nedb/_native.abi3.so +0 -0
  10. nedb_engine-2.2.32/python/nedb/nedbd-v2 +0 -0
  11. nedb_engine-2.2.32/python/nedb/nedbd-v2-darwin-arm64 +0 -0
  12. nedb_engine-2.2.32/python/nedb/nedbd-v2-darwin-x64 +0 -0
  13. nedb_engine-2.2.32/python/nedb/nedbd-v2.exe +0 -0
  14. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/.gitignore +0 -0
  15. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/LICENSE +0 -0
  16. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/client/node/README.md +0 -0
  17. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/client/python/README.md +0 -0
  18. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/autoindex.py +0 -0
  19. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/backends/__init__.py +0 -0
  20. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/backends/redis_backend.py +0 -0
  21. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/cascade.py +0 -0
  22. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/concurrent.py +0 -0
  23. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/crypto.py +0 -0
  24. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/engine.py +0 -0
  25. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/index.py +0 -0
  26. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/log.py +0 -0
  27. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/merkle.py +0 -0
  28. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/mongo.py +0 -0
  29. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/proof.py +0 -0
  30. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/query.py +0 -0
  31. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/redis_compat.py +0 -0
  32. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/relations.py +0 -0
  33. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/resp2.py +0 -0
  34. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/server.py +0 -0
  35. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/snapshot.py +0 -0
  36. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/sql.py +0 -0
  37. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/store.py +0 -0
  38. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/wrap_redis.py +0 -0
  39. {nedb_engine-2.2.32 → nedb_engine-2.3.33}/rust/nedb-v2/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nedb-engine
3
- Version: 2.2.32
3
+ Version: 2.3.33
4
4
  Summary: NEDB — a versioned, self-compressing, time-traveling embedded database (replay-protected, idempotent, relational, searchable) with durable AOF persistence and a server daemon (nedbd).
5
5
  Project-URL: Homepage, https://github.com/aiassistsecure/nedb
6
6
  Project-URL: Repository, https://github.com/aiassistsecure/nedb
@@ -41,9 +41,11 @@ One Rust core → ships to **PyPI** and **npm** from a single source.
41
41
 
42
42
  ---
43
43
 
44
- ## NEDB v2.2.31 — Production Stable
44
+ ## NEDB v2.3.33 — Production Stable
45
45
 
46
- **Current stable: 2.2.31** — Cross-platform native wheels shipping `nedbd-v2` binary inside `pip install nedb-engine`. Linux + Windows wheels built on GitHub Actions; macOS arm64 + x86_64 wheels built on Codemagic (M2 Mac Minis). All four platforms publish from one `v*` tag.
46
+ **Current stable: 2.3.33** — Cross-platform native wheels shipping `nedbd-v2` binary inside `pip install nedb-engine`. Linux + Windows wheels built on GitHub Actions; macOS arm64 + x86_64 wheels built on Codemagic (M2 Mac Minis). All four platforms publish from one `v*` tag.
47
+
48
+ **New in 2.3.33:** durable **flush-on-close** (a `Db` persists buffered writes when dropped, matching sled/RocksDB); a **cross-platform id-index** that percent-encodes filesystem-unsafe document ids (link ids, paths) so they persist on **Windows** as well as POSIX; idempotent object re-writes; and an opt-in **v3 segment/pack store** (`--dag-v3`, default off) that batches loose objects into append-only segments with compaction + `.idx` sidecars.
47
49
 
48
50
  NEDB v2 replaces the append-only log (AOF) with a **content-addressed Merkle DAG**. Every document version is an immutable, BLAKE2b-verified object. Nothing is ever overwritten. As of **v2.2.31**, restarts after the first open are **O(1) warm starts** (driven by a `MANIFEST` of `seq` + Merkle head), the **cold scan is deferred** so the daemon accepts connections immediately, and a new **`GET /events` SSE endpoint** streams scan progress + per-write events live.
49
51
 
@@ -20,9 +20,11 @@ One Rust core → ships to **PyPI** and **npm** from a single source.
20
20
 
21
21
  ---
22
22
 
23
- ## NEDB v2.2.31 — Production Stable
23
+ ## NEDB v2.3.33 — Production Stable
24
24
 
25
- **Current stable: 2.2.31** — Cross-platform native wheels shipping `nedbd-v2` binary inside `pip install nedb-engine`. Linux + Windows wheels built on GitHub Actions; macOS arm64 + x86_64 wheels built on Codemagic (M2 Mac Minis). All four platforms publish from one `v*` tag.
25
+ **Current stable: 2.3.33** — Cross-platform native wheels shipping `nedbd-v2` binary inside `pip install nedb-engine`. Linux + Windows wheels built on GitHub Actions; macOS arm64 + x86_64 wheels built on Codemagic (M2 Mac Minis). All four platforms publish from one `v*` tag.
26
+
27
+ **New in 2.3.33:** durable **flush-on-close** (a `Db` persists buffered writes when dropped, matching sled/RocksDB); a **cross-platform id-index** that percent-encodes filesystem-unsafe document ids (link ids, paths) so they persist on **Windows** as well as POSIX; idempotent object re-writes; and an opt-in **v3 segment/pack store** (`--dag-v3`, default off) that batches loose objects into append-only segments with compaction + `.idx` sidecars.
26
28
 
27
29
  NEDB v2 replaces the append-only log (AOF) with a **content-addressed Merkle DAG**. Every document version is an immutable, BLAKE2b-verified object. Nothing is ever overwritten. As of **v2.2.31**, restarts after the first open are **O(1) warm starts** (driven by a `MANIFEST` of `seq` + Merkle head), the **cold scan is deferred** so the daemon accepts connections immediately, and a new **`GET /events` SSE endpoint** streams scan progress + per-write events live.
28
30
 
@@ -0,0 +1,39 @@
1
+ # NEDB Mini-Chain
2
+
3
+ > The database where your data **is** a blockchain.
4
+
5
+ A ~80-line runnable micro case-study for `nedb-engine`. It tells NEDB's whole
6
+ story in one gamified console run — and uses the exact primitives
7
+ (`caused_by` / `AS OF` / `verify`) that back the real ITC node (**itcd**),
8
+ where NEDB replaces LevelDB as the block-index + chainstate.
9
+
10
+ ## Run
11
+
12
+ ```bash
13
+ npm install nedb-engine
14
+ node mini-chain.mjs # default 5,000 blocks
15
+ node mini-chain.mjs 50000 # crank it
16
+ ```
17
+
18
+ ## What it demonstrates
19
+
20
+ | Step | NEDB feature | Why it matters |
21
+ |------|--------------|----------------|
22
+ | ⛏ Mine N blocks | content-addressed writes | one doc per block; hash-chained automatically |
23
+ | ⚡ Read them back | indexed `get` | real writes/sec + reads/sec from *your* machine |
24
+ | ⏳ Time-travel | `getAsOf(seq)` (MVCC) | read any block as it was at a past sequence |
25
+ | 🧭 Provenance | `link` / `neighbors` (causal DAG) | walk a block's `prev` edge |
26
+ | 🛡 Tamper-evidence | `verify()` (BLAKE2b) | corrupt a block on disk → `verify()` flips to `false` |
27
+
28
+ The tamper step is **real**: it flips a byte in a block's on-disk object and
29
+ re-opens the store — `verify()` catches the BLAKE2b mismatch. You can't fake
30
+ history in NEDB.
31
+
32
+ ## Storage strategy
33
+
34
+ One document per block in a `blocks` collection, keyed by height, each carrying
35
+ `prev`. Time-travel, causal provenance, and tamper-proofing come **free** — no
36
+ extra tables, no external indexer. That is the same model itcd uses for the ITC
37
+ chain.
38
+
39
+ *© Interchained LLC — GPL-3.0-or-later*
@@ -10,7 +10,7 @@ build-backend = "hatchling.build"
10
10
 
11
11
  [project]
12
12
  name = "nedb-engine"
13
- version = "2.2.32"
13
+ version = "2.3.33"
14
14
  description = "NEDB — a versioned, self-compressing, time-traveling embedded database (replay-protected, idempotent, relational, searchable) with durable AOF persistence and a server daemon (nedbd)."
15
15
  readme = "README.md"
16
16
  requires-python = ">=3.8"
@@ -89,4 +89,4 @@ __all__ = [
89
89
  "verify_proof", "fold_head",
90
90
  "_native", "__has_native__",
91
91
  ]
92
- __version__ = "2.2.32"
92
+ __version__ = "2.3.33"
Binary file
Binary file
Binary file
File without changes
File without changes