nedb-engine 2.2.14__tar.gz → 2.2.16__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 (28) hide show
  1. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/PKG-INFO +1 -1
  2. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/pyproject.toml +1 -1
  3. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/__init__.py +1 -1
  4. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/server.py +23 -16
  5. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/.gitignore +0 -0
  6. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/LICENSE +0 -0
  7. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/README.md +0 -0
  8. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/client/node/README.md +0 -0
  9. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/client/python/README.md +0 -0
  10. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/autoindex.py +0 -0
  11. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/backends/__init__.py +0 -0
  12. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/backends/redis_backend.py +0 -0
  13. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/cascade.py +0 -0
  14. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/concurrent.py +0 -0
  15. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/crypto.py +0 -0
  16. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/engine.py +0 -0
  17. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/index.py +0 -0
  18. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/log.py +0 -0
  19. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/merkle.py +0 -0
  20. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/mongo.py +0 -0
  21. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/query.py +0 -0
  22. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/redis_compat.py +0 -0
  23. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/relations.py +0 -0
  24. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/resp2.py +0 -0
  25. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/snapshot.py +0 -0
  26. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/sql.py +0 -0
  27. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/store.py +0 -0
  28. {nedb_engine-2.2.14 → nedb_engine-2.2.16}/python/nedb/wrap_redis.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nedb-engine
3
- Version: 2.2.14
3
+ Version: 2.2.16
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
@@ -10,7 +10,7 @@ build-backend = "hatchling.build"
10
10
 
11
11
  [project]
12
12
  name = "nedb-engine"
13
- version = "2.2.14"
13
+ version = "2.2.16"
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"
@@ -47,4 +47,4 @@ __all__ = [
47
47
  "wrap_redis", "WrappedRedis",
48
48
  "_native", "__has_native__",
49
49
  ]
50
- __version__ = "2.2.14"
50
+ __version__ = "2.2.16"
@@ -563,31 +563,38 @@ def main() -> None:
563
563
  if args.dag:
564
564
  import shutil as _shutil, subprocess as _sub, sys as _sys
565
565
  _pkg_dir = os.path.dirname(os.path.abspath(__file__))
566
- # Include .exe variants for Windows; order: bundled wheel binary first
566
+ _cwd = os.getcwd()
567
+ # Include .exe variants for Windows; search order:
568
+ # 1. Bundled in the Python wheel (platform wheel includes the binary)
569
+ # 2. PATH
570
+ # 3. Cargo release build relative to CWD (built from source)
571
+ # 4. Cargo release build relative to the package location
567
572
  _names = ["nedbd-v2", "nedbd_v2", "nedbd-v2.exe", "nedbd_v2.exe"]
573
+ _cargo_names = ["nedbd", "nedbd.exe"] # cargo output is just "nedbd"
574
+ _cargo_dirs = [
575
+ os.path.join(_cwd, "rust", "nedb-v2", "target", "release"),
576
+ os.path.join(_cwd, "target", "release"),
577
+ os.path.join(os.path.dirname(_pkg_dir), "rust", "nedb-v2", "target", "release"),
578
+ ]
568
579
  _candidates = (
569
580
  [os.path.join(_pkg_dir, n) for n in _names]
570
581
  + [_shutil.which(n) or "" for n in _names]
582
+ + [os.path.join(d, n) for d in _cargo_dirs for n in _cargo_names]
571
583
  )
572
584
  _bin = next((c for c in _candidates if c and os.path.isfile(c)), None)
573
585
  if _bin is None:
574
- print("nedbd --dag: v2 Rust binary not found.", file=_sys.stderr)
575
- print(" Expected 'nedbd-v2' (or 'nedbd-v2.exe' on Windows) alongside the", file=_sys.stderr)
576
- print(" package or on PATH. Options:", file=_sys.stderr)
577
- print(" pip install --upgrade nedb-engine (platform wheel bundles the binary)", file=_sys.stderr)
578
- print(" cd rust/nedb-v2 && cargo build --release", file=_sys.stderr)
579
- print(" # then copy: nedbd-v2[.exe] to PATH or the nedb package dir", file=_sys.stderr)
580
- _sys.exit(1)
581
- # Build argv forwarding all recognised flags
582
- _argv = [_bin, "--data", args.data, "--port", str(args.port)]
586
+ # Auto-download from GitHub releases handles MinGW Python, Linux ARM,
587
+ # and any platform where the pip wheel doesn't match but the standalone
588
+ # binary still runs (e.g. MSVC .exe works fine from Git Bash / MINGW64).
589
+ _bin = _dag_download_binary(_pkg_dir, _sys)
590
+ # Rust binary: nedbd-v2 [data_dir]
591
+ # Port/token/TMK are passed via environment variables (not CLI flags).
592
+ os.environ["NEDBD_PORT"] = str(args.port)
583
593
  if args.token:
584
- _argv += ["--token", args.token]
585
- if os.environ.get("NEDBD_TOKEN") and "--token" not in _argv:
586
- _argv += ["--token", os.environ["NEDBD_TOKEN"]]
587
- if os.environ.get("NEDB_TMK"):
588
- os.environ.setdefault("NEDB_TMK", os.environ["NEDB_TMK"])
594
+ os.environ["NEDBD_TOKEN"] = args.token
595
+ _argv = [_bin, args.data] # data_dir is the only positional arg
589
596
  # os.execv replaces the process on POSIX; use subprocess on Windows
590
- if sys.platform == "win32":
597
+ if _sys.platform == "win32":
591
598
  _sys.exit(_sub.call(_argv))
592
599
  else:
593
600
  os.execv(_bin, _argv)
File without changes
File without changes
File without changes