dirsql 0.3.30__tar.gz → 0.3.31__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 (167) hide show
  1. {dirsql-0.3.30 → dirsql-0.3.31}/Cargo.lock +1 -1
  2. {dirsql-0.3.30 → dirsql-0.3.31}/PKG-INFO +1 -1
  3. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/Cargo.toml +1 -1
  4. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/init_e2e.rs +13 -1
  5. {dirsql-0.3.30 → dirsql-0.3.31}/Cargo.toml +0 -0
  6. {dirsql-0.3.30 → dirsql-0.3.31}/README.md +0 -0
  7. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/__init__.py +0 -0
  8. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/_async.py +0 -0
  9. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/_async_test.py +0 -0
  10. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/_dirsql.pyi +0 -0
  11. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/__init__.py +0 -0
  12. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/binary_path.py +0 -0
  13. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/binary_path_test.py +0 -0
  14. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/interpret/__init__.py +0 -0
  15. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/interpret/dispatch_extract.py +0 -0
  16. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/interpret/dispatch_extract_test.py +0 -0
  17. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/interpret/load_app.py +0 -0
  18. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/interpret/load_app_test.py +0 -0
  19. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/interpret/run.py +0 -0
  20. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/interpret/run_test.py +0 -0
  21. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/interpret/write_message.py +0 -0
  22. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/interpret/write_message_test.py +0 -0
  23. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/is_windows.py +0 -0
  24. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/is_windows_test.py +0 -0
  25. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/main.py +0 -0
  26. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/cli/main_test.py +0 -0
  27. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/py.typed +0 -0
  28. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/resolve_config.py +0 -0
  29. {dirsql-0.3.30 → dirsql-0.3.31}/dirsql/resolve_config_test.py +0 -0
  30. {dirsql-0.3.30 → dirsql-0.3.31}/docs/.claude/CLAUDE.md +0 -0
  31. {dirsql-0.3.30 → dirsql-0.3.31}/docs/.vitepress/config.ts +0 -0
  32. {dirsql-0.3.30 → dirsql-0.3.31}/docs/.vitepress/theme/index.ts +0 -0
  33. {dirsql-0.3.30 → dirsql-0.3.31}/docs/.vitepress/theme/lang.ts +0 -0
  34. {dirsql-0.3.30 → dirsql-0.3.31}/docs/AGENTS.md +0 -0
  35. {dirsql-0.3.30 → dirsql-0.3.31}/docs/api/index.md +0 -0
  36. {dirsql-0.3.30 → dirsql-0.3.31}/docs/cli/config.md +0 -0
  37. {dirsql-0.3.30 → dirsql-0.3.31}/docs/cli/http-api.md +0 -0
  38. {dirsql-0.3.30 → dirsql-0.3.31}/docs/cli/index.md +0 -0
  39. {dirsql-0.3.30 → dirsql-0.3.31}/docs/cli/init.md +0 -0
  40. {dirsql-0.3.30 → dirsql-0.3.31}/docs/cli/server.md +0 -0
  41. {dirsql-0.3.30 → dirsql-0.3.31}/docs/getting-started.md +0 -0
  42. {dirsql-0.3.30 → dirsql-0.3.31}/docs/guide/async.md +0 -0
  43. {dirsql-0.3.30 → dirsql-0.3.31}/docs/guide/crdt.md +0 -0
  44. {dirsql-0.3.30 → dirsql-0.3.31}/docs/guide/persistence.md +0 -0
  45. {dirsql-0.3.30 → dirsql-0.3.31}/docs/guide/querying.md +0 -0
  46. {dirsql-0.3.30 → dirsql-0.3.31}/docs/guide/tables.md +0 -0
  47. {dirsql-0.3.30 → dirsql-0.3.31}/docs/guide/watching.md +0 -0
  48. {dirsql-0.3.30 → dirsql-0.3.31}/docs/index.md +0 -0
  49. {dirsql-0.3.30 → dirsql-0.3.31}/docs/migrations.md +0 -0
  50. {dirsql-0.3.30 → dirsql-0.3.31}/docs/package.json +0 -0
  51. {dirsql-0.3.30 → dirsql-0.3.31}/docs/playwright.config.ts +0 -0
  52. {dirsql-0.3.30 → dirsql-0.3.31}/docs/pnpm-lock.yaml +0 -0
  53. {dirsql-0.3.30 → dirsql-0.3.31}/docs/pnpm-workspace.yaml +0 -0
  54. {dirsql-0.3.30 → dirsql-0.3.31}/docs/tests/integration/home.spec.ts +0 -0
  55. {dirsql-0.3.30 → dirsql-0.3.31}/docs/tests/integration/language-flag.spec.ts +0 -0
  56. {dirsql-0.3.30 → dirsql-0.3.31}/docs/tests/unit/config.test.ts +0 -0
  57. {dirsql-0.3.30 → dirsql-0.3.31}/docs/tests/unit/lang.test.ts +0 -0
  58. {dirsql-0.3.30 → dirsql-0.3.31}/docs/vitest.config.ts +0 -0
  59. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/README.md +0 -0
  60. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/conftest.py +0 -0
  61. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/.claude/CLAUDE.md +0 -0
  62. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/.vitepress/config.ts +0 -0
  63. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/.vitepress/theme/index.ts +0 -0
  64. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
  65. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/AGENTS.md +0 -0
  66. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/api/index.md +0 -0
  67. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/cli/config.md +0 -0
  68. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/cli/http-api.md +0 -0
  69. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/cli/index.md +0 -0
  70. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/cli/init.md +0 -0
  71. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/cli/server.md +0 -0
  72. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/getting-started.md +0 -0
  73. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/guide/async.md +0 -0
  74. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/guide/crdt.md +0 -0
  75. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/guide/persistence.md +0 -0
  76. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/guide/querying.md +0 -0
  77. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/guide/tables.md +0 -0
  78. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/guide/watching.md +0 -0
  79. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/index.md +0 -0
  80. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/migrations.md +0 -0
  81. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/package.json +0 -0
  82. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/playwright.config.ts +0 -0
  83. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/pnpm-lock.yaml +0 -0
  84. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/pnpm-workspace.yaml +0 -0
  85. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/tests/integration/home.spec.ts +0 -0
  86. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/tests/integration/language-flag.spec.ts +0 -0
  87. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/tests/unit/config.test.ts +0 -0
  88. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/tests/unit/lang.test.ts +0 -0
  89. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/docs/vitest.config.ts +0 -0
  90. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/src/lib.rs +0 -0
  91. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/__init__.py +0 -0
  92. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/conftest.py +0 -0
  93. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/e2e/__init__.py +0 -0
  94. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/__fixtures__/data/a/meta.json +0 -0
  95. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/__fixtures__/data/b/meta.json +0 -0
  96. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/__fixtures__/dirsql.config.py +0 -0
  97. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/__fixtures__/interpret/data/a/meta.json +0 -0
  98. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/__fixtures__/interpret/data/b/meta.json +0 -0
  99. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/__fixtures__/interpret/dirsql.config.py +0 -0
  100. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/__fixtures__/interpret/dirsql.config_no_app.py +0 -0
  101. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/__fixtures__/interpret/dirsql.config_raises.py +0 -0
  102. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/__init__.py +0 -0
  103. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/interpret_subprocess.py +0 -0
  104. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/test_async_dirsql.py +0 -0
  105. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/test_binding.py +0 -0
  106. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/test_dirsql.py +0 -0
  107. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/test_docs_examples.py +0 -0
  108. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/test_docs_gaps.py +0 -0
  109. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/test_from_config.py +0 -0
  110. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/test_interpret.py +0 -0
  111. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/test_native_config.py +0 -0
  112. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/test_persist.py +0 -0
  113. {dirsql-0.3.30 → dirsql-0.3.31}/packages/python/tests/integration/test_serialization.py +0 -0
  114. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/Cargo.toml +0 -0
  115. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/README.md +0 -0
  116. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/benches/db_bench.rs +0 -0
  117. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/benches/differ_bench.rs +0 -0
  118. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/benches/matcher_bench.rs +0 -0
  119. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/benches/scanner_bench.rs +0 -0
  120. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/api/index.md +0 -0
  121. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/cli/config.md +0 -0
  122. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/cli/http-api.md +0 -0
  123. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/cli/index.md +0 -0
  124. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/cli/init.md +0 -0
  125. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/cli/server.md +0 -0
  126. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/getting-started.md +0 -0
  127. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/guide/async.md +0 -0
  128. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/guide/crdt.md +0 -0
  129. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/guide/persistence.md +0 -0
  130. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/guide/querying.md +0 -0
  131. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/guide/tables.md +0 -0
  132. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/guide/watching.md +0 -0
  133. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/index.md +0 -0
  134. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/docs/migrations.md +0 -0
  135. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/bin/dirsql.rs +0 -0
  136. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/cli/init.rs +0 -0
  137. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/cli/mod.rs +0 -0
  138. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/cli/native_config.rs +0 -0
  139. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/cli/router.rs +0 -0
  140. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/cli/serialize.rs +0 -0
  141. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/cli/server.rs +0 -0
  142. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/config.rs +0 -0
  143. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/db.rs +0 -0
  144. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/differ.rs +0 -0
  145. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/lib.rs +0 -0
  146. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/matcher.rs +0 -0
  147. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/persist.rs +0 -0
  148. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/scanner.rs +0 -0
  149. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/src/watcher.rs +0 -0
  150. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/async_sdk.rs +0 -0
  151. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/cli_e2e.rs +0 -0
  152. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/cli_integration.rs +0 -0
  153. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/code_review_findings.rs +0 -0
  154. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/config.rs +0 -0
  155. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/docs_examples.rs +0 -0
  156. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/docs_gaps.rs +0 -0
  157. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/extensions.rs +0 -0
  158. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/from_config.rs +0 -0
  159. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/init_integration.rs +0 -0
  160. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/persist.rs +0 -0
  161. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/readonly_query.rs +0 -0
  162. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/scanner.rs +0 -0
  163. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/sdk.rs +0 -0
  164. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/serialization.rs +0 -0
  165. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/watch_relative_root.rs +0 -0
  166. {dirsql-0.3.30 → dirsql-0.3.31}/packages/rust/tests/watcher.rs +0 -0
  167. {dirsql-0.3.30 → dirsql-0.3.31}/pyproject.toml +0 -0
@@ -499,7 +499,7 @@ dependencies = [
499
499
 
500
500
  [[package]]
501
501
  name = "dirsql-py-ext"
502
- version = "0.3.30"
502
+ version = "0.3.31"
503
503
  dependencies = [
504
504
  "dirsql",
505
505
  "pyo3",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dirsql
3
- Version: 0.3.30
3
+ Version: 0.3.31
4
4
  Requires-Dist: pytest>=8 ; extra == 'dev'
5
5
  Requires-Dist: pytest-describe>=2 ; extra == 'dev'
6
6
  Requires-Dist: pytest-asyncio>=0.23 ; extra == 'dev'
@@ -4,7 +4,7 @@ name = "dirsql-py-ext"
4
4
  # pypi/maturin handler can rewrite it via `write-version` before
5
5
  # `maturin build`. `pyproject.toml` declares `dynamic = ["version"]`
6
6
  # and maturin reads this field. Mirrors `packages/rust/Cargo.toml`.
7
- version = "0.3.30"
7
+ version = "0.3.31"
8
8
  edition.workspace = true
9
9
  publish = false
10
10
  readme = "README.md"
@@ -48,7 +48,12 @@ fn produces_a_loadable_config_for_a_mixed_directory() {
48
48
  return;
49
49
  }
50
50
 
51
- // Mixed-content fixture: plain-text and JSON files for `claude` to model.
51
+ // Mixed-content fixture: plain-text and JSON files for `claude` to model,
52
+ // plus a genuinely **binary** file. The binary file is a regression guard
53
+ // for #174 / #184 (Part 2): `dirsql init` must model a directory that
54
+ // contains binary files, and the generated config must round-trip through
55
+ // `DirSQL::from_config_path` without the scan eagerly reading that file as
56
+ // UTF-8 (which previously crashed the build with `InvalidData`).
52
57
  let root = TempDir::new().unwrap();
53
58
  fs::write(root.path().join("notes.txt"), "hello world\n").unwrap();
54
59
  fs::write(root.path().join("more.txt"), "another note\n").unwrap();
@@ -57,6 +62,13 @@ fn produces_a_loadable_config_for_a_mixed_directory() {
57
62
  r#"{"vendor": "Acme", "amount": 42}"#,
58
63
  )
59
64
  .unwrap();
65
+ // JPEG magic bytes: `0xFF` is not valid UTF-8, so an eager `read_to_string`
66
+ // over this file fails with `InvalidData` — the original #174 symptom.
67
+ fs::write(
68
+ root.path().join("photo.jpg"),
69
+ [0xFFu8, 0xD8, 0xFF, 0xE0, 0x00, 0x10],
70
+ )
71
+ .unwrap();
60
72
 
61
73
  // Live agent calls can take tens of seconds; the harness's overall
62
74
  // test timeout governs the upper bound here.
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