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.
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/PKG-INFO +5 -3
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/README.md +4 -2
- nedb_engine-2.3.33/examples/mini-chain/README.md +39 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/pyproject.toml +1 -1
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/__init__.py +1 -1
- nedb_engine-2.3.33/python/nedb/_native.abi3.so +0 -0
- nedb_engine-2.3.33/python/nedb/nedbd-v2 +0 -0
- nedb_engine-2.3.33/python/nedb/nedbd-v2.exe +0 -0
- nedb_engine-2.2.32/python/nedb/_native.abi3.so +0 -0
- nedb_engine-2.2.32/python/nedb/nedbd-v2 +0 -0
- nedb_engine-2.2.32/python/nedb/nedbd-v2-darwin-arm64 +0 -0
- nedb_engine-2.2.32/python/nedb/nedbd-v2-darwin-x64 +0 -0
- nedb_engine-2.2.32/python/nedb/nedbd-v2.exe +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/.gitignore +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/LICENSE +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/client/node/README.md +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/client/python/README.md +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/autoindex.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/backends/__init__.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/backends/redis_backend.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/cascade.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/concurrent.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/crypto.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/engine.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/index.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/log.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/merkle.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/mongo.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/proof.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/query.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/redis_compat.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/relations.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/resp2.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/server.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/snapshot.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/sql.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/store.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.3.33}/python/nedb/wrap_redis.py +0 -0
- {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.
|
|
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.
|
|
44
|
+
## NEDB v2.3.33 — Production Stable
|
|
45
45
|
|
|
46
|
-
**Current stable: 2.
|
|
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.
|
|
23
|
+
## NEDB v2.3.33 — Production Stable
|
|
24
24
|
|
|
25
|
-
**Current stable: 2.
|
|
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.
|
|
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"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|