corvid-python 0.3.3__tar.gz → 0.4.0__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 (42) hide show
  1. {corvid_python-0.3.3 → corvid_python-0.4.0}/.github/workflows/release.yml +7 -5
  2. {corvid_python-0.3.3 → corvid_python-0.4.0}/Cargo.lock +1 -1
  3. {corvid_python-0.3.3 → corvid_python-0.4.0}/Cargo.toml +1 -1
  4. {corvid_python-0.3.3 → corvid_python-0.4.0}/PKG-INFO +1 -1
  5. {corvid_python-0.3.3 → corvid_python-0.4.0}/docs/PLAN.md +3 -3
  6. {corvid_python-0.3.3 → corvid_python-0.4.0}/docs/SURFACE.tsv +4 -0
  7. {corvid_python-0.3.3 → corvid_python-0.4.0}/pyproject.toml +1 -1
  8. {corvid_python-0.3.3 → corvid_python-0.4.0}/scripts/surface-gate.sh +1 -1
  9. {corvid_python-0.3.3 → corvid_python-0.4.0}/.cargo/config.toml +0 -0
  10. {corvid_python-0.3.3 → corvid_python-0.4.0}/.github/workflows/ci.yml +0 -0
  11. {corvid_python-0.3.3 → corvid_python-0.4.0}/.gitignore +0 -0
  12. {corvid_python-0.3.3 → corvid_python-0.4.0}/LICENSE +0 -0
  13. {corvid_python-0.3.3 → corvid_python-0.4.0}/README.md +0 -0
  14. {corvid_python-0.3.3 → corvid_python-0.4.0}/examples/geo.py +0 -0
  15. {corvid_python-0.3.3 → corvid_python-0.4.0}/examples/graph.py +0 -0
  16. {corvid_python-0.3.3 → corvid_python-0.4.0}/examples/hybrid.py +0 -0
  17. {corvid_python-0.3.3 → corvid_python-0.4.0}/examples/quickstart.py +0 -0
  18. {corvid_python-0.3.3 → corvid_python-0.4.0}/examples/text_search.py +0 -0
  19. {corvid_python-0.3.3 → corvid_python-0.4.0}/examples/vector_index.py +0 -0
  20. {corvid_python-0.3.3 → corvid_python-0.4.0}/python/corvid/__init__.py +0 -0
  21. {corvid_python-0.3.3 → corvid_python-0.4.0}/python/corvid/__init__.pyi +0 -0
  22. {corvid_python-0.3.3 → corvid_python-0.4.0}/python/corvid/py.typed +0 -0
  23. {corvid_python-0.3.3 → corvid_python-0.4.0}/src/collection.rs +0 -0
  24. {corvid_python-0.3.3 → corvid_python-0.4.0}/src/db.rs +0 -0
  25. {corvid_python-0.3.3 → corvid_python-0.4.0}/src/error.rs +0 -0
  26. {corvid_python-0.3.3 → corvid_python-0.4.0}/src/lib.rs +0 -0
  27. {corvid_python-0.3.3 → corvid_python-0.4.0}/src/pred.rs +0 -0
  28. {corvid_python-0.3.3 → corvid_python-0.4.0}/src/query.rs +0 -0
  29. {corvid_python-0.3.3 → corvid_python-0.4.0}/src/types.rs +0 -0
  30. {corvid_python-0.3.3 → corvid_python-0.4.0}/src/value.rs +0 -0
  31. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/golden/admin.txt +0 -0
  32. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/golden/geo.txt +0 -0
  33. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/golden/graph.txt +0 -0
  34. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/golden/mutations.txt +0 -0
  35. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/golden/persist.txt +0 -0
  36. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/golden/queries.txt +0 -0
  37. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/golden/schema.txt +0 -0
  38. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/golden/values.txt +0 -0
  39. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/test_context_managers.py +0 -0
  40. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/test_error_code.py +0 -0
  41. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/test_golden.py +0 -0
  42. {corvid_python-0.3.3 → corvid_python-0.4.0}/tests/test_value_mapping.py +0 -0
@@ -143,13 +143,15 @@ jobs:
143
143
  run: >
144
144
  echo "dry-run: upload skipped — wheel matrix, sdist, artifact
145
145
  merge, and version verification all ran; nothing uploaded."
146
- # maturin upload with no MATURIN_PYPI_TOKEN/username configured and the
147
- # OIDC env vars present (id-token: write) authenticates via trusted
148
- # publishing. --skip-existing keeps re-runs of an already-uploaded file
149
- # from failing the job (per-file idempotence).
146
+ # The canonical trusted-publishing path (maturin's own deprecation
147
+ # notice points here): PyPA's action exchanges the GitHub OIDC token
148
+ # itself no credentials configured, and it is idempotent-friendly
149
+ # via skip-existing for re-runs of an already-uploaded file.
150
150
  - name: Upload to PyPI
151
151
  if: inputs.dry_run != true
152
- run: maturin upload --skip-existing dist/*
152
+ uses: pypa/gh-action-pypi-publish@release/v1
153
+ with:
154
+ skip-existing: true
153
155
  - name: Verify the publish (pypi.org JSON API)
154
156
  if: inputs.dry_run != true
155
157
  run: |
@@ -5,7 +5,7 @@ version = 4
5
5
  [[package]]
6
6
  name = "corvid-db"
7
7
  version = "0.3.2"
8
- source = "git+https://github.com/corvid-db/corvid.git?tag=v0.3.3#b726ac5a1ebace9f94dc12007a4e06927241cf4c"
8
+ source = "git+https://github.com/corvid-db/corvid.git?tag=v0.4.0#b726ac5a1ebace9f94dc12007a4e06927241cf4c"
9
9
  dependencies = [
10
10
  "redb",
11
11
  "thiserror",
@@ -24,7 +24,7 @@ pyo3 = { version = "0.29", features = ["abi3-py311"] }
24
24
  # binding pins exact engine tags; the engine PACKAGE is corvid-db —
25
25
  # bare `corvid` is an unrelated crates.io crate — its LIB ident is
26
26
  # corvid, so `use corvid::…` is unchanged).
27
- corvid-db = { git = "https://github.com/corvid-db/corvid.git", tag = "v0.3.3" }
27
+ corvid-db = { git = "https://github.com/corvid-db/corvid.git", tag = "v0.4.0" }
28
28
 
29
29
  [dev-dependencies]
30
30
  # Test-only: the variant-inventory snapshot test (src/error.rs)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: corvid-python
3
- Version: 0.3.3
3
+ Version: 0.4.0
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -18,7 +18,7 @@ variants are additive later, decided by the FFI bench).
18
18
  | --- | --- |
19
19
  | The pyo3 crate (engine-binding layer AND idiom layer — see §3) | `src/*.rs` — `DbPy`/`CollectionPy`/`QueryPy`, value mapping, error mapping, predicates |
20
20
  | The public package | `python/corvid/__init__.py` re-exports `corvid._native`; `__init__.pyi` + `py.typed` carry the full typing |
21
- | The golden-suite port | `tests/test_golden.py` driving `tests/golden/*.txt` (vendored byte-identical from the v0.3.3 release — the pinned engine tag; the same fixtures the C smoke suite and corvid-node run) |
21
+ | The golden-suite port | `tests/test_golden.py` driving `tests/golden/*.txt` (vendored byte-identical from the v0.4.0 release — the pinned engine tag; the same fixtures the C smoke suite and corvid-node run) |
22
22
  | Packaging | `pyproject.toml` (maturin, one cp311-abi3 wheel per platform), README (install-pending note), LICENSE (MIT), `.gitignore` |
23
23
  | CI | `.github/workflows/ci.yml` — surface gate + lint + golden suite × 4 platform legs (linux-x64/arm64, macos-arm64, windows-x64) × {3.14, 3.13, 3.12, 3.11} + `maturin build` smoke |
24
24
 
@@ -35,7 +35,7 @@ totals test pre-scans all files for exactly 267).
35
35
  Two architectures were on the table:
36
36
 
37
37
  1. **(chosen)** A Rust pyo3 crate that links the engine crate directly
38
- (`corvid-db = { git = "https://github.com/corvid-db/corvid.git", tag = "v0.3.3" }`
38
+ (`corvid-db = { git = "https://github.com/corvid-db/corvid.git", tag = "v0.4.0" }`
39
39
  — the engine package is `corvid-db` with lib ident `corvid`; bare
40
40
  `corvid` on crates.io is an unrelated crate) and exposes the OOP
41
41
  surface through native pyo3 classes, built into a Python extension
@@ -222,4 +222,4 @@ Documented corners:
222
222
  | Variadic `and_`/`or_` (trailing underscores) | Python keywords; mirrors the JS binding's variadic `and`/`or` |
223
223
  | Counter + Arc exclusivity for `compact` | mirrors the ABI §4.13 gate exactly; pinned by admin.txt |
224
224
  | pyo3 0.29, maturin 1.x | current crates.io stable lines |
225
- | Vendored golden fixtures (byte-identical to the v0.3.3 tag — the pinned engine version) | stable text; the suite must run offline and per-PR (verified identical to `crates/corvid-ffi/golden/`) |
225
+ | Vendored golden fixtures (byte-identical to the v0.4.0 tag — the pinned engine version) | stable text; the suite must run offline and per-PR (verified identical to `crates/corvid-ffi/golden/`) |
@@ -122,8 +122,10 @@ corvid::QueryBuilder::run SELECT shaping MAPPED Query.run golden:queries.txt:QVE
122
122
  corvid::Db Lifecycle MAPPED Db golden:admin.txt:FILEDB
123
123
  corvid::Db::open Lifecycle MAPPED Db.open/open_memory/collection/collections/backup/compact golden:admin.txt (COLLECTIONS/BACKUP/COMPACT)
124
124
  corvid::Db::open_in_memory Lifecycle MAPPED Db.open/open_memory/collection/collections/backup/compact golden:admin.txt (COLLECTIONS/BACKUP/COMPACT)
125
+ corvid::Db::open_with_backend Lifecycle N/A N/A wasm-only backend seam (redb StorageBackend over custom storage): no C-ABI/native equivalent; browser-binding machinery, not constructible here
125
126
  corvid::Db::collection Lifecycle MAPPED Db.open/open_memory/collection/collections/backup/compact golden:admin.txt (COLLECTIONS/BACKUP/COMPACT)
126
127
  corvid::Db::backup Lifecycle MAPPED Db.open/open_memory/collection/collections/backup/compact golden:admin.txt (COLLECTIONS/BACKUP/COMPACT)
128
+ corvid::Db::backup_with_backend Lifecycle N/A N/A wasm-only backend seam (redb StorageBackend over custom storage): no C-ABI/native equivalent; browser-binding machinery, not constructible here
127
129
  corvid::Db::bulk Lifecycle N/A N/A put_many covers the bulk fast path (FFI.md §9); Db::bulk not exposed
128
130
  corvid::Db::compact Lifecycle MAPPED Db.open/open_memory/collection/collections/backup/compact golden:admin.txt (COLLECTIONS/BACKUP/COMPACT)
129
131
  corvid::Db::collections Lifecycle MAPPED Db.open/open_memory/collection/collections/backup/compact golden:admin.txt (COLLECTIONS/BACKUP/COMPACT)
@@ -148,12 +150,14 @@ corvid::db::Page SELECT shaping MAPPED Collection.page / Page golden:mutations.t
148
150
  corvid::Store Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
149
151
  corvid::Store::open Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
150
152
  corvid::Store::open_in_memory Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
153
+ corvid::Store::open_with_backend Lifecycle N/A N/A wasm-only backend seam (redb StorageBackend over custom storage): no C-ABI/native equivalent; browser-binding machinery, not constructible here
151
154
  corvid::Store::set_relaxed_durability Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
152
155
  corvid::Store::begin_bulk Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
153
156
  corvid::Store::flush Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
154
157
  corvid::Store::compact Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
155
158
  corvid::Store::next_auto_id Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
156
159
  corvid::Store::backup Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
160
+ corvid::Store::backup_with_backend Lifecycle N/A N/A wasm-only backend seam (redb StorageBackend over custom storage): no C-ABI/native equivalent; browser-binding machinery, not constructible here
157
161
  corvid::Store::transaction Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
158
162
  corvid::Store::read Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
159
163
  corvid::Store::put Lifecycle N/A N/A engine low-level byte KV (Store/WriteBatch/ReadBatch); the v1 binding is typed-document only (FFI.md ruling 1)
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "corvid-python"
7
- version = "0.3.3"
7
+ version = "0.4.0"
8
8
  description = "Python binding for the corvid embedded database — the engine compiled in via pyo3, exposed as idiomatic OOP"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -34,7 +34,7 @@ SURFACE="$ROOT/docs/SURFACE.tsv"
34
34
  ENGINE_REPO="corvid-db/corvid"
35
35
 
36
36
  # The committed N/A baseline for THIS binding (see (c) above).
37
- NA_BASELINE=155
37
+ NA_BASELINE=159
38
38
 
39
39
  # ---- locate the engine pin ------------------------------------------------
40
40
  pin=""
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes