dirsql 0.3.93__tar.gz → 0.3.94__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 (138) hide show
  1. {dirsql-0.3.93 → dirsql-0.3.94}/Cargo.lock +1 -1
  2. {dirsql-0.3.93 → dirsql-0.3.94}/PKG-INFO +1 -1
  3. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/Cargo.toml +1 -1
  4. dirsql-0.3.94/packages/python/e2e-attestations/claude-open-issues-review-le8hm5-red-553.json +7 -0
  5. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/lib.rs +12 -8
  6. dirsql-0.3.93/packages/python/e2e-attestations/claude-tackle-540-iju1yi.json +0 -7
  7. {dirsql-0.3.93 → dirsql-0.3.94}/Cargo.toml +0 -0
  8. {dirsql-0.3.93 → dirsql-0.3.94}/README.md +0 -0
  9. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/__init__.py +0 -0
  10. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/_async.py +0 -0
  11. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/_dirsql.pyi +0 -0
  12. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/cli/__init__.py +0 -0
  13. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/cli/binary_path.py +0 -0
  14. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/cli/is_windows.py +0 -0
  15. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/cli/main.py +0 -0
  16. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/cli/resolve_config_extensions.py +0 -0
  17. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/py.typed +0 -0
  18. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/resolve_config_extensions.py +0 -0
  19. {dirsql-0.3.93 → dirsql-0.3.94}/dirsql/resolve_extension.py +0 -0
  20. {dirsql-0.3.93 → dirsql-0.3.94}/docs/.claude/CLAUDE.md +0 -0
  21. {dirsql-0.3.93 → dirsql-0.3.94}/docs/.vitepress/config.ts +0 -0
  22. {dirsql-0.3.93 → dirsql-0.3.94}/docs/.vitepress/theme/index.ts +0 -0
  23. {dirsql-0.3.93 → dirsql-0.3.94}/docs/.vitepress/theme/lang.ts +0 -0
  24. {dirsql-0.3.93 → dirsql-0.3.94}/docs/AGENTS.md +0 -0
  25. {dirsql-0.3.93 → dirsql-0.3.94}/docs/explanation.md +0 -0
  26. {dirsql-0.3.93 → dirsql-0.3.94}/docs/getting-started.md +0 -0
  27. {dirsql-0.3.93 → dirsql-0.3.94}/docs/howto/columns-from-paths.md +0 -0
  28. {dirsql-0.3.93 → dirsql-0.3.94}/docs/howto/define-tables.md +0 -0
  29. {dirsql-0.3.93 → dirsql-0.3.94}/docs/howto/embed.md +0 -0
  30. {dirsql-0.3.93 → dirsql-0.3.94}/docs/howto/extract-from-contents.md +0 -0
  31. {dirsql-0.3.93 → dirsql-0.3.94}/docs/howto/load-extension.md +0 -0
  32. {dirsql-0.3.93 → dirsql-0.3.94}/docs/howto/persist.md +0 -0
  33. {dirsql-0.3.93 → dirsql-0.3.94}/docs/howto/react-to-changes.md +0 -0
  34. {dirsql-0.3.93 → dirsql-0.3.94}/docs/howto/search-by-meaning.md +0 -0
  35. {dirsql-0.3.93 → dirsql-0.3.94}/docs/howto/skip-files.md +0 -0
  36. {dirsql-0.3.93 → dirsql-0.3.94}/docs/index.md +0 -0
  37. {dirsql-0.3.93 → dirsql-0.3.94}/docs/migrations.md +0 -0
  38. {dirsql-0.3.93 → dirsql-0.3.94}/docs/package.json +0 -0
  39. {dirsql-0.3.93 → dirsql-0.3.94}/docs/playwright.config.ts +0 -0
  40. {dirsql-0.3.93 → dirsql-0.3.94}/docs/pnpm-lock.yaml +0 -0
  41. {dirsql-0.3.93 → dirsql-0.3.94}/docs/pnpm-workspace.yaml +0 -0
  42. {dirsql-0.3.93 → dirsql-0.3.94}/docs/reference/cli.md +0 -0
  43. {dirsql-0.3.93 → dirsql-0.3.94}/docs/reference/columns.md +0 -0
  44. {dirsql-0.3.93 → dirsql-0.3.94}/docs/reference/config.md +0 -0
  45. {dirsql-0.3.93 → dirsql-0.3.94}/docs/reference/hooks.md +0 -0
  46. {dirsql-0.3.93 → dirsql-0.3.94}/docs/reference/http-api.md +0 -0
  47. {dirsql-0.3.93 → dirsql-0.3.94}/docs/reference/sdk.md +0 -0
  48. {dirsql-0.3.93 → dirsql-0.3.94}/docs/tests/integration/home.spec.ts +0 -0
  49. {dirsql-0.3.93 → dirsql-0.3.94}/docs/tests/integration/language-flag.spec.ts +0 -0
  50. {dirsql-0.3.93 → dirsql-0.3.94}/docs/tests/integration/sidebar.spec.ts +0 -0
  51. {dirsql-0.3.93 → dirsql-0.3.94}/docs/tests/unit/config.test.ts +0 -0
  52. {dirsql-0.3.93 → dirsql-0.3.94}/docs/tests/unit/lang.test.ts +0 -0
  53. {dirsql-0.3.93 → dirsql-0.3.94}/docs/vitest.config.ts +0 -0
  54. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/README.md +0 -0
  55. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/conftest.py +0 -0
  56. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/.claude/CLAUDE.md +0 -0
  57. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/.vitepress/config.ts +0 -0
  58. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/.vitepress/theme/index.ts +0 -0
  59. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
  60. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/AGENTS.md +0 -0
  61. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/explanation.md +0 -0
  62. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/getting-started.md +0 -0
  63. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/howto/columns-from-paths.md +0 -0
  64. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/howto/define-tables.md +0 -0
  65. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/howto/embed.md +0 -0
  66. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/howto/extract-from-contents.md +0 -0
  67. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/howto/load-extension.md +0 -0
  68. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/howto/persist.md +0 -0
  69. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/howto/react-to-changes.md +0 -0
  70. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/howto/search-by-meaning.md +0 -0
  71. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/howto/skip-files.md +0 -0
  72. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/index.md +0 -0
  73. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/migrations.md +0 -0
  74. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/package.json +0 -0
  75. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/playwright.config.ts +0 -0
  76. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/pnpm-lock.yaml +0 -0
  77. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/pnpm-workspace.yaml +0 -0
  78. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/reference/cli.md +0 -0
  79. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/reference/columns.md +0 -0
  80. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/reference/config.md +0 -0
  81. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/reference/hooks.md +0 -0
  82. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/reference/http-api.md +0 -0
  83. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/reference/sdk.md +0 -0
  84. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/tests/integration/home.spec.ts +0 -0
  85. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/tests/integration/language-flag.spec.ts +0 -0
  86. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/tests/integration/sidebar.spec.ts +0 -0
  87. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/tests/unit/config.test.ts +0 -0
  88. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/tests/unit/lang.test.ts +0 -0
  89. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/docs/vitest.config.ts +0 -0
  90. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/src/lib.rs +0 -0
  91. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/tests/__init__.py +0 -0
  92. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/tests/conftest.py +0 -0
  93. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/tests/e2e/__init__.py +0 -0
  94. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/tests/integration/__init__.py +0 -0
  95. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/tests/integration/binding/__init__.py +0 -0
  96. {dirsql-0.3.93 → dirsql-0.3.94}/packages/python/tests/integration/hermetic/__init__.py +0 -0
  97. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/Cargo.toml +0 -0
  98. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/README.md +0 -0
  99. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/benches/db_bench.rs +0 -0
  100. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/benches/differ_bench.rs +0 -0
  101. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/benches/matcher_bench.rs +0 -0
  102. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/benches/scanner_bench.rs +0 -0
  103. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/explanation.md +0 -0
  104. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/getting-started.md +0 -0
  105. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/howto/columns-from-paths.md +0 -0
  106. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/howto/define-tables.md +0 -0
  107. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/howto/embed.md +0 -0
  108. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/howto/extract-from-contents.md +0 -0
  109. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/howto/load-extension.md +0 -0
  110. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/howto/persist.md +0 -0
  111. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/howto/react-to-changes.md +0 -0
  112. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/howto/search-by-meaning.md +0 -0
  113. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/howto/skip-files.md +0 -0
  114. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/index.md +0 -0
  115. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/migrations.md +0 -0
  116. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/reference/cli.md +0 -0
  117. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/reference/columns.md +0 -0
  118. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/reference/config.md +0 -0
  119. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/reference/hooks.md +0 -0
  120. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/reference/http-api.md +0 -0
  121. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/docs/reference/sdk.md +0 -0
  122. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/bin/dirsql.rs +0 -0
  123. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/cli/execute.rs +0 -0
  124. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/cli/init.rs +0 -0
  125. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/cli/mod.rs +0 -0
  126. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/cli/router.rs +0 -0
  127. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/cli/serialize.rs +0 -0
  128. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/cli/server.rs +0 -0
  129. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/command.rs +0 -0
  130. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/config.rs +0 -0
  131. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/db.rs +0 -0
  132. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/default_config.toml +0 -0
  133. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/differ.rs +0 -0
  134. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/matcher.rs +0 -0
  135. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/persist.rs +0 -0
  136. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/scanner.rs +0 -0
  137. {dirsql-0.3.93 → dirsql-0.3.94}/packages/rust/src/watcher.rs +0 -0
  138. {dirsql-0.3.93 → dirsql-0.3.94}/pyproject.toml +0 -0
@@ -500,7 +500,7 @@ dependencies = [
500
500
 
501
501
  [[package]]
502
502
  name = "dirsql-py-ext"
503
- version = "0.3.93"
503
+ version = "0.3.94"
504
504
  dependencies = [
505
505
  "dirsql",
506
506
  "pyo3",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dirsql
3
- Version: 0.3.93
3
+ Version: 0.3.94
4
4
  Summary: Ephemeral SQL index over a local directory
5
5
  Keywords: sql,filesystem,directory,sqlite,index
6
6
  Author: Kevin Scott
@@ -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.93"
7
+ version = "0.3.94"
8
8
  # abi3 note: the `abi3-py311` pyo3 feature (below) builds ONE stable-ABI
9
9
  # `cp311-abi3` wheel per platform that loads on every CPython >= 3.11
10
10
  # (matching `pyproject.toml`'s `requires-python = ">=3.11"`), instead of
@@ -0,0 +1,7 @@
1
+ {
2
+ "command": "uv run python -m pytest tests/e2e/ -x -q",
3
+ "ran_at": 1783941005,
4
+ "exit_code": 0,
5
+ "commit": "08325768e4fc2cae5e67e98a1d1e2d40e75f4afb",
6
+ "branch": "claude/open-issues-review-le8hm5-red-553"
7
+ }
@@ -856,7 +856,7 @@ pub struct DirSQLBuilder {
856
856
  tables: Vec<Table>,
857
857
  ignore: Vec<String>,
858
858
  extensions: Vec<Extension>,
859
- config_path: Option<PathBuf>,
859
+ config_paths: Vec<PathBuf>,
860
860
  suppress_config_extensions: bool,
861
861
  persist: bool,
862
862
  persist_path: Option<PathBuf>,
@@ -921,8 +921,13 @@ impl DirSQLBuilder {
921
921
  /// index root: with no explicit [`root`](Self::root), the index roots at the
922
922
  /// process cwd. Relative `persist_path` / `[[dirsql.extension]]` paths still
923
923
  /// resolve against the config's parent directory.
924
+ ///
925
+ /// Call repeatedly to load several configs: their `[[table]]`, `ignore`, and
926
+ /// `[[dirsql.extension]]` entries accumulate in call order, and each config's
927
+ /// `on-file` hooks run from that config file's own directory under its own
928
+ /// `[dirsql].hook-timeout`. A single call is identical to before.
924
929
  pub fn config(mut self, config_path: impl Into<PathBuf>) -> Self {
925
- self.config_path = Some(config_path.into());
930
+ self.config_paths.push(config_path.into());
926
931
  self
927
932
  }
928
933
 
@@ -968,7 +973,7 @@ impl DirSQLBuilder {
968
973
  mut tables,
969
974
  mut ignore,
970
975
  mut extensions,
971
- config_path,
976
+ config_paths,
972
977
  suppress_config_extensions,
973
978
  persist,
974
979
  persist_path,
@@ -985,12 +990,11 @@ impl DirSQLBuilder {
985
990
 
986
991
  // The config layer is an ordered list of entries, each carrying its
987
992
  // loaded `config`, its `config_dir` (where `on-file` hooks run and the
988
- // base for extension path resolution), and its `hook_timeout`. Every
989
- // caller supplies at most one config, so the list holds 0 or 1 entries
990
- // and the in-order merge below is byte-for-byte identical to a single
991
- // pass.
993
+ // base for extension path resolution), and its `hook_timeout`. Configs
994
+ // accumulate in `.config()` call order; a single entry makes the in-order
995
+ // merge below byte-for-byte identical to a single pass.
992
996
  let mut config_entries: Vec<ResolvedConfigEntry> = Vec::new();
993
- if let Some(ref cfg_path) = config_path {
997
+ for cfg_path in &config_paths {
994
998
  let cfg = config::load_config(cfg_path).map_err(DirSqlError::config)?;
995
999
 
996
1000
  let cfg_parent = cfg_path
@@ -1,7 +0,0 @@
1
- {
2
- "command": "uv run python -m pytest tests/e2e/ -x -q",
3
- "ran_at": 1783786263,
4
- "exit_code": 0,
5
- "commit": "5f2c30e714a871866de1dc4ff97c190478f8478d",
6
- "branch": "claude/tackle-540-iju1yi"
7
- }
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