sqlrite 0.1.12__tar.gz → 0.1.13__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 (109) hide show
  1. {sqlrite-0.1.12 → sqlrite-0.1.13}/Cargo.lock +5 -5
  2. {sqlrite-0.1.12 → sqlrite-0.1.13}/Cargo.toml +1 -1
  3. {sqlrite-0.1.12 → sqlrite-0.1.13}/PKG-INFO +1 -1
  4. {sqlrite-0.1.12 → sqlrite-0.1.13}/desktop/package.json +1 -1
  5. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/phase-7-plan.md +8 -0
  6. {sqlrite-0.1.12 → sqlrite-0.1.13}/pyproject.toml +1 -1
  7. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/python/Cargo.toml +1 -1
  8. sqlrite-0.1.13/src/sql/hnsw.rs +790 -0
  9. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/mod.rs +1 -0
  10. {sqlrite-0.1.12 → sqlrite-0.1.13}/.github/workflows/ci.yml +0 -0
  11. {sqlrite-0.1.12 → sqlrite-0.1.13}/.github/workflows/release-pr.yml +0 -0
  12. {sqlrite-0.1.12 → sqlrite-0.1.13}/.github/workflows/release.yml +0 -0
  13. {sqlrite-0.1.12 → sqlrite-0.1.13}/.github/workflows/rust.yml +0 -0
  14. {sqlrite-0.1.12 → sqlrite-0.1.13}/.gitignore +0 -0
  15. {sqlrite-0.1.12 → sqlrite-0.1.13}/CODE_OF_CONDUCT.md +0 -0
  16. {sqlrite-0.1.12 → sqlrite-0.1.13}/LICENSE +0 -0
  17. {sqlrite-0.1.12 → sqlrite-0.1.13}/MAINTAINERS +0 -0
  18. {sqlrite-0.1.12 → sqlrite-0.1.13}/Makefile +0 -0
  19. {sqlrite-0.1.12 → sqlrite-0.1.13}/README.md +0 -0
  20. {sqlrite-0.1.12 → sqlrite-0.1.13}/desktop/index.html +0 -0
  21. {sqlrite-0.1.12 → sqlrite-0.1.13}/desktop/package-lock.json +0 -0
  22. {sqlrite-0.1.12 → sqlrite-0.1.13}/desktop/src/App.svelte +0 -0
  23. {sqlrite-0.1.12 → sqlrite-0.1.13}/desktop/src/app.css +0 -0
  24. {sqlrite-0.1.12 → sqlrite-0.1.13}/desktop/src/main.ts +0 -0
  25. {sqlrite-0.1.12 → sqlrite-0.1.13}/desktop/src/vite-env.d.ts +0 -0
  26. {sqlrite-0.1.12 → sqlrite-0.1.13}/desktop/svelte.config.js +0 -0
  27. {sqlrite-0.1.12 → sqlrite-0.1.13}/desktop/tsconfig.json +0 -0
  28. {sqlrite-0.1.12 → sqlrite-0.1.13}/desktop/vite.config.ts +0 -0
  29. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/_index.md +0 -0
  30. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/architecture.md +0 -0
  31. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/design-decisions.md +0 -0
  32. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/desktop.md +0 -0
  33. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/embedding.md +0 -0
  34. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/file-format.md +0 -0
  35. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/getting-started.md +0 -0
  36. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/pager.md +0 -0
  37. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/release-plan.md +0 -0
  38. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/release-secrets.md +0 -0
  39. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/roadmap.md +0 -0
  40. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/smoke-test.md +0 -0
  41. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/sql-engine.md +0 -0
  42. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/storage-model.md +0 -0
  43. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/supported-sql.md +0 -0
  44. {sqlrite-0.1.12 → sqlrite-0.1.13}/docs/usage.md +0 -0
  45. {sqlrite-0.1.12 → sqlrite-0.1.13}/examples/README.md +0 -0
  46. {sqlrite-0.1.12 → sqlrite-0.1.13}/examples/c/Makefile +0 -0
  47. {sqlrite-0.1.12 → sqlrite-0.1.13}/examples/c/hello.c +0 -0
  48. {sqlrite-0.1.12 → sqlrite-0.1.13}/examples/go/go.mod +0 -0
  49. {sqlrite-0.1.12 → sqlrite-0.1.13}/examples/go/hello.go +0 -0
  50. {sqlrite-0.1.12 → sqlrite-0.1.13}/examples/nodejs/hello.mjs +0 -0
  51. {sqlrite-0.1.12 → sqlrite-0.1.13}/examples/python/hello.py +0 -0
  52. {sqlrite-0.1.12 → sqlrite-0.1.13}/examples/rust/quickstart.rs +0 -0
  53. {sqlrite-0.1.12 → sqlrite-0.1.13}/examples/wasm/Makefile +0 -0
  54. {sqlrite-0.1.12 → sqlrite-0.1.13}/examples/wasm/index.html +0 -0
  55. {sqlrite-0.1.12 → sqlrite-0.1.13}/images/SQLRite - Desktop.png +0 -0
  56. {sqlrite-0.1.12 → sqlrite-0.1.13}/images/SQLRite Data Structures.png +0 -0
  57. {sqlrite-0.1.12 → sqlrite-0.1.13}/images/SQLRite Simple SQL Execution High Level Diagram.png +0 -0
  58. {sqlrite-0.1.12 → sqlrite-0.1.13}/images/SQLRite Simple SQL INSERT Execution High Level Diagram (Insert Row).png +0 -0
  59. {sqlrite-0.1.12 → sqlrite-0.1.13}/images/SQLRite Simple SQL INSERT Execution High Level Diagram.png +0 -0
  60. {sqlrite-0.1.12 → sqlrite-0.1.13}/images/SQLRite_logo.png +0 -0
  61. {sqlrite-0.1.12 → sqlrite-0.1.13}/images/architecture.png +0 -0
  62. {sqlrite-0.1.12 → sqlrite-0.1.13}/rust-toolchain.toml +0 -0
  63. {sqlrite-0.1.12 → sqlrite-0.1.13}/samples/AST.delete.example +0 -0
  64. {sqlrite-0.1.12 → sqlrite-0.1.13}/samples/AST.insert.exemple +0 -0
  65. {sqlrite-0.1.12 → sqlrite-0.1.13}/samples/AST.select.example +0 -0
  66. {sqlrite-0.1.12 → sqlrite-0.1.13}/samples/AST.update.example +0 -0
  67. {sqlrite-0.1.12 → sqlrite-0.1.13}/samples/CREATE TABLE sqlrite_schema.sql +0 -0
  68. {sqlrite-0.1.12 → sqlrite-0.1.13}/samples/CREATE_TABLE with duplicate.sql +0 -0
  69. {sqlrite-0.1.12 → sqlrite-0.1.13}/samples/CREATE_TABLE.sql +0 -0
  70. {sqlrite-0.1.12 → sqlrite-0.1.13}/samples/INSERT.sql +0 -0
  71. {sqlrite-0.1.12 → sqlrite-0.1.13}/scripts/bump-version.sh +0 -0
  72. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/go/README.md +0 -0
  73. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/go/conn.go +0 -0
  74. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/go/go.mod +0 -0
  75. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/go/rows.go +0 -0
  76. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/go/sqlrite.go +0 -0
  77. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/go/sqlrite_test.go +0 -0
  78. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/go/stmt.go +0 -0
  79. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/python/README.md +0 -0
  80. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/python/src/lib.rs +0 -0
  81. {sqlrite-0.1.12 → sqlrite-0.1.13}/sdk/python/tests/test_sqlrite.py +0 -0
  82. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/connection.rs +0 -0
  83. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/error.rs +0 -0
  84. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/lib.rs +0 -0
  85. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/main.rs +0 -0
  86. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/meta_command/mod.rs +0 -0
  87. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/repl/mod.rs +0 -0
  88. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/db/database.rs +0 -0
  89. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/db/mod.rs +0 -0
  90. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/db/secondary_index.rs +0 -0
  91. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/db/table.rs +0 -0
  92. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/executor.rs +0 -0
  93. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/cell.rs +0 -0
  94. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/file.rs +0 -0
  95. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/header.rs +0 -0
  96. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/index_cell.rs +0 -0
  97. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/interior_page.rs +0 -0
  98. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/mod.rs +0 -0
  99. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/overflow.rs +0 -0
  100. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/page.rs +0 -0
  101. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/pager.rs +0 -0
  102. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/table_page.rs +0 -0
  103. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/varint.rs +0 -0
  104. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/pager/wal.rs +0 -0
  105. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/parser/create.rs +0 -0
  106. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/parser/insert.rs +0 -0
  107. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/parser/mod.rs +0 -0
  108. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/parser/select.rs +0 -0
  109. {sqlrite-0.1.12 → sqlrite-0.1.13}/src/sql/tokenizer.rs +0 -0
@@ -3736,7 +3736,7 @@ dependencies = [
3736
3736
 
3737
3737
  [[package]]
3738
3738
  name = "sqlrite-desktop"
3739
- version = "0.1.12"
3739
+ version = "0.1.13"
3740
3740
  dependencies = [
3741
3741
  "serde",
3742
3742
  "serde_json",
@@ -3748,7 +3748,7 @@ dependencies = [
3748
3748
 
3749
3749
  [[package]]
3750
3750
  name = "sqlrite-engine"
3751
- version = "0.1.12"
3751
+ version = "0.1.13"
3752
3752
  dependencies = [
3753
3753
  "clap",
3754
3754
  "env_logger",
@@ -3763,7 +3763,7 @@ dependencies = [
3763
3763
 
3764
3764
  [[package]]
3765
3765
  name = "sqlrite-ffi"
3766
- version = "0.1.12"
3766
+ version = "0.1.13"
3767
3767
  dependencies = [
3768
3768
  "cbindgen",
3769
3769
  "sqlrite-engine",
@@ -3771,7 +3771,7 @@ dependencies = [
3771
3771
 
3772
3772
  [[package]]
3773
3773
  name = "sqlrite-nodejs"
3774
- version = "0.1.12"
3774
+ version = "0.1.13"
3775
3775
  dependencies = [
3776
3776
  "napi",
3777
3777
  "napi-build",
@@ -3781,7 +3781,7 @@ dependencies = [
3781
3781
 
3782
3782
  [[package]]
3783
3783
  name = "sqlrite-python"
3784
- version = "0.1.12"
3784
+ version = "0.1.13"
3785
3785
  dependencies = [
3786
3786
  "pyo3",
3787
3787
  "sqlrite-engine",
@@ -27,7 +27,7 @@ resolver = "3"
27
27
  # `package =` key so the import name stays `sqlrite` internally:
28
28
  # sqlrite = { package = "sqlrite-engine", path = "…" }
29
29
  name = "sqlrite-engine"
30
- version = "0.1.12"
30
+ version = "0.1.13"
31
31
  authors = ["Joao Henrique Machado Silva <joaoh82@gmail.com>"]
32
32
  edition = "2024"
33
33
  rust-version = "1.85"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlrite
3
- Version: 0.1.12
3
+ Version: 0.1.13
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sqlrite-desktop-frontend",
3
3
  "private": true,
4
- "version": "0.1.12",
4
+ "version": "0.1.13",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
@@ -158,6 +158,14 @@ SELECT id, title FROM docs ORDER BY embedding <-> [0.1, ...] LIMIT 10;
158
158
 
159
159
  **LOC estimate:** ~700-900 lines. The big sub-phase.
160
160
 
161
+ > **Scope correction (2026-04-27, post-7c):** Re-scoping during implementation showed 7d works out to ~1300 LOC across three logical chunks, more than the original ~700-900 estimate and too much for one reviewable PR. Splitting into three:
162
+ >
163
+ > - **7d.1 — Pure HNSW algorithm** *(~700 LOC).* `src/sql/hnsw.rs` standalone module: insert + search + layer assignment + beam search per layer + L2/cosine/dot distance dispatch. No SQL integration yet — vectors are passed in via a `get_vec` closure so the algorithm doesn't depend on table types. Tests verify recall@k ≥ 0.95 vs brute-force on randomly-generated vector sets; deterministic via a fixed RNG seed.
164
+ > - **7d.2 — SQL integration** *(~400 LOC).* `CREATE INDEX … USING hnsw (col)` parser + engine, INSERT wiring (also calls `hnsw.insert()`), query optimizer hook (recognizes `ORDER BY vec_distance_*(col, literal) LIMIT k` and probes the HNSW instead of full-scanning). HNSW lives in memory only at this point — gets rebuilt on every database open.
165
+ > - **7d.3 — Persistence** *(~300 LOC).* Wire HNSW into the cell format: new `KIND_HNSW` cell tag, page-tree storage parallel to secondary indexes, save/reopen round-trip.
166
+ >
167
+ > Each 7d.x ships as its own PR + release wave. The user-facing value lands at 7d.2; 7d.3 closes the persistence loop. 7d.1 is foundational but ships a tested algorithmic primitive on its own — useful as documentation of the engine's "from scratch" theme.
168
+
161
169
  **Tests:** recall@k vs brute-force baseline (should be ≥ 0.95 on standard benchmark vectors); insert performance; delete semantics; persistence roundtrip.
162
170
 
163
171
  ---
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "sqlrite"
7
- version = "0.1.12"
7
+ version = "0.1.13"
8
8
  description = "Python bindings for SQLRite — a small, embeddable SQLite clone written in Rust."
9
9
  authors = [{ name = "Joao Henrique Machado Silva", email = "joaoh82@gmail.com" }]
10
10
  license = { text = "MIT" }
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sqlrite-python"
3
- version = "0.1.12"
3
+ version = "0.1.13"
4
4
  authors = ["Joao Henrique Machado Silva <joaoh82@gmail.com>"]
5
5
  edition = "2024"
6
6
  rust-version = "1.85"