corvid-python 0.3.3__tar.gz → 0.3.4__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.
- {corvid_python-0.3.3 → corvid_python-0.3.4}/.github/workflows/release.yml +7 -5
- {corvid_python-0.3.3 → corvid_python-0.3.4}/Cargo.lock +1 -1
- {corvid_python-0.3.3 → corvid_python-0.3.4}/Cargo.toml +1 -1
- {corvid_python-0.3.3 → corvid_python-0.3.4}/PKG-INFO +1 -1
- {corvid_python-0.3.3 → corvid_python-0.3.4}/docs/PLAN.md +3 -3
- {corvid_python-0.3.3 → corvid_python-0.3.4}/docs/SURFACE.tsv +4 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/pyproject.toml +1 -1
- {corvid_python-0.3.3 → corvid_python-0.3.4}/scripts/surface-gate.sh +1 -1
- {corvid_python-0.3.3 → corvid_python-0.3.4}/.cargo/config.toml +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/.github/workflows/ci.yml +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/.gitignore +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/LICENSE +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/README.md +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/examples/geo.py +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/examples/graph.py +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/examples/hybrid.py +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/examples/quickstart.py +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/examples/text_search.py +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/examples/vector_index.py +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/python/corvid/__init__.py +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/python/corvid/__init__.pyi +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/python/corvid/py.typed +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/src/collection.rs +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/src/db.rs +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/src/error.rs +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/src/lib.rs +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/src/pred.rs +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/src/query.rs +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/src/types.rs +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/src/value.rs +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/golden/admin.txt +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/golden/geo.txt +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/golden/graph.txt +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/golden/mutations.txt +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/golden/persist.txt +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/golden/queries.txt +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/golden/schema.txt +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/golden/values.txt +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/test_context_managers.py +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/test_error_code.py +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/tests/test_golden.py +0 -0
- {corvid_python-0.3.3 → corvid_python-0.3.4}/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
|
-
#
|
|
147
|
-
#
|
|
148
|
-
#
|
|
149
|
-
#
|
|
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
|
-
|
|
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.
|
|
8
|
+
source = "git+https://github.com/corvid-db/corvid.git?tag=v0.3.4#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.
|
|
27
|
+
corvid-db = { git = "https://github.com/corvid-db/corvid.git", tag = "v0.3.4" }
|
|
28
28
|
|
|
29
29
|
[dev-dependencies]
|
|
30
30
|
# Test-only: the variant-inventory snapshot test (src/error.rs)
|
|
@@ -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.
|
|
21
|
+
| The golden-suite port | `tests/test_golden.py` driving `tests/golden/*.txt` (vendored byte-identical from the v0.3.4 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.
|
|
38
|
+
(`corvid-db = { git = "https://github.com/corvid-db/corvid.git", tag = "v0.3.4" }`
|
|
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.
|
|
225
|
+
| Vendored golden fixtures (byte-identical to the v0.3.4 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.
|
|
7
|
+
version = "0.3.4"
|
|
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=
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|