dirsql 0.4.5__tar.gz → 0.4.6__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.
- {dirsql-0.4.5 → dirsql-0.4.6}/Cargo.lock +1 -2
- {dirsql-0.4.5 → dirsql-0.4.6}/PKG-INFO +1 -1
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/Cargo.toml +1 -1
- dirsql-0.4.6/packages/python/e2e-attestations/claude-716-drop-regex.json +7 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/Cargo.toml +0 -1
- dirsql-0.4.6/packages/rust/changelog.d/2026-08-02-drop-regex.md +17 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/matcher.rs +48 -6
- {dirsql-0.4.5 → dirsql-0.4.6}/Cargo.toml +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/README.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/__init__.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/_async.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/_dirsql.pyi +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/__init__.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/binary_path.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/discover_plugins/__init__.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/discover_plugins/discovered_fragments.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/discover_plugins/discovery_disabled.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/discover_plugins/fragment_path.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/discover_plugins/user_passed_config.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/discover_plugins/with_discovered_plugins.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/is_windows.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/main.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/cli/resolve_config_extensions.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/py.typed +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/resolve_config_extensions.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/dirsql/resolve_extension.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/.vitepress/config.ts +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/AGENTS.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/explanation.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/getting-started.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/embed.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/persist.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/index.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/migrations.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/package.json +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/reference/cli.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/reference/columns.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/reference/config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/reference/hooks.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/reference/http-api.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/docs/reference/sdk.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/CHANGELOG.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/MIGRATIONS.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/README.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-13-plugin-discovery.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-13-repeatable-config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-29-restore-python-310.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-08-02-release-profile.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-08-02-scan-failures.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/README.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/conftest.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/.vitepress/config.ts +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/AGENTS.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/explanation.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/getting-started.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/embed.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/persist.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/index.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/migrations.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/package.json +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/reference/cli.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/reference/columns.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/reference/config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/reference/hooks.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/reference/http-api.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/docs/reference/sdk.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/e2e-attestations/claude-710-accumulate-onfile.json +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/e2e-attestations/claude-714-unify-file-failures.json +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/e2e-attestations/claude-715-binding-scan-failures.json +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-29-restore-python-310.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/README.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/src/lib.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/tests/__init__.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/tests/conftest.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/tests/e2e/__init__.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/dirsql.toml +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/tests/integration/__init__.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/tests/integration/binding/__init__.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/python/tests/integration/hermetic/__init__.py +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/CHANGELOG.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/MIGRATIONS.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/README.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/benches/db_bench.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/benches/differ_bench.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/benches/matcher_bench.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/benches/scanner_bench.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-batch-ingest-transaction.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-chained-pre-post-query-hooks.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-fan-out-file-table-matching.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-persist-wal.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-repeatable-builder-config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-repeatable-cli-config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-subcommand-local-config-flags.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-19-path-table-query-fallback.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-19-path-table-vtab.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-20-path-table-glob-semantics.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-20-schema-inference.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-21-on-file-flag.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-23-init-escalation-example.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-23-query-default-cli.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-29-on-file-failures-accumulate.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-08-02-per-file-scan-failures.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-08-02-release-profile.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/README.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/explanation.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/getting-started.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/embed.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/persist.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/index.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/migrations.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/reference/cli.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/reference/columns.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/reference/config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/reference/hooks.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/reference/http-api.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/docs/reference/sdk.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-fan-out-file-table-matching.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-persist-wal.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-subcommand-local-config-flags.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-20-path-table-glob-semantics.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-23-init-escalation-example.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-23-query-default-cli.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-08-02-per-file-scan-failures.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/README.md +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/bin/dirsql.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/cli/execute.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/cli/init.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/cli/mod.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/cli/router.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/cli/serialize.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/cli/server.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/command.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/config.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/db.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/default_config.toml +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/differ.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/infer.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/lib.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/parsed_vtab.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/path_table.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/persist.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/scanner.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/vtab.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/src/watcher.rs +0 -0
- {dirsql-0.4.5 → dirsql-0.4.6}/pyproject.toml +0 -0
|
@@ -473,7 +473,6 @@ dependencies = [
|
|
|
473
473
|
"libc",
|
|
474
474
|
"notify",
|
|
475
475
|
"predicates",
|
|
476
|
-
"regex",
|
|
477
476
|
"reqwest",
|
|
478
477
|
"rusqlite",
|
|
479
478
|
"serde",
|
|
@@ -500,7 +499,7 @@ dependencies = [
|
|
|
500
499
|
|
|
501
500
|
[[package]]
|
|
502
501
|
name = "dirsql-py-ext"
|
|
503
|
-
version = "0.4.
|
|
502
|
+
version = "0.4.6"
|
|
504
503
|
dependencies = [
|
|
505
504
|
"dirsql",
|
|
506
505
|
"pyo3",
|
|
@@ -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.4.
|
|
7
|
+
version = "0.4.6"
|
|
8
8
|
# abi3 note: the `abi3-py310` pyo3 feature (below) builds ONE stable-ABI
|
|
9
9
|
# `cp310-abi3` wheel per platform that loads on every CPython >= 3.10
|
|
10
10
|
# (matching `pyproject.toml`'s `requires-python = ">=3.10"`), instead of
|
|
@@ -56,7 +56,6 @@ futures = { version = "0.3", optional = true }
|
|
|
56
56
|
futures-channel.workspace = true
|
|
57
57
|
globset = "0.4"
|
|
58
58
|
notify = "7"
|
|
59
|
-
regex.workspace = true
|
|
60
59
|
rusqlite = { version = "0.34", features = ["bundled", "load_extension", "hooks", "vtab"] }
|
|
61
60
|
serde.workspace = true
|
|
62
61
|
serde_json.workspace = true
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
**Changed** — the `regex` dependency is gone. `matcher.rs` used it for one
|
|
2
|
+
trivial pattern (`{name}` placeholder extraction in path templates); that is now
|
|
3
|
+
a hand-rolled scan over the same grammar, `{` `[a-zA-Z_][a-zA-Z0-9_]*` `}`.
|
|
4
|
+
|
|
5
|
+
Dropping the `regex` facade lets cargo drop the `regex-automata` features
|
|
6
|
+
`globset` does not need, shrinking every published artifact by ~570 KB
|
|
7
|
+
(CLI 6.14 -> 5.57 MB, pyo3 `.so` 4.99 -> 4.42 MB, napi `.node` 5.05 -> 4.48 MB;
|
|
8
|
+
~9-11% each, on top of the release-profile change).
|
|
9
|
+
|
|
10
|
+
Matcher construction also gets ~28x faster, since a `TableMatcher` no longer
|
|
11
|
+
compiles two regexes per pattern: 23.8 us -> 0.87 us for one pattern,
|
|
12
|
+
1.38 ms -> 47.8 us for fifty. Match throughput is unchanged (`globset` does the
|
|
13
|
+
matching).
|
|
14
|
+
|
|
15
|
+
No behavior change: `placeholder_names` keeps its signature and its exact
|
|
16
|
+
grammar, verified against the previous regex over 2,830 inputs with zero
|
|
17
|
+
mismatches.
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
use globset::{Glob, GlobSet, GlobSetBuilder};
|
|
2
|
-
use regex::Regex;
|
|
3
2
|
use std::path::Path;
|
|
4
3
|
|
|
5
4
|
/// Result of matching a file path against a glob pattern.
|
|
@@ -25,19 +24,62 @@ pub struct TableMatcher {
|
|
|
25
24
|
ignore_set: GlobSet,
|
|
26
25
|
}
|
|
27
26
|
|
|
27
|
+
/// Byte spans of the `{name}` placeholders in `pattern`, in order: `(start,
|
|
28
|
+
/// end, name)` with `end` past the closing brace.
|
|
29
|
+
///
|
|
30
|
+
/// The grammar is exactly `{` `[a-zA-Z_][a-zA-Z0-9_]*` `}`. Anything else --
|
|
31
|
+
/// `{}`, `{1a}`, `{a-b}`, an unclosed `{` -- is not a placeholder and is left
|
|
32
|
+
/// alone, matching the leftmost-first, non-overlapping scan the equivalent
|
|
33
|
+
/// regex performed.
|
|
34
|
+
fn placeholder_spans(pattern: &str) -> Vec<(usize, usize, String)> {
|
|
35
|
+
let bytes = pattern.as_bytes();
|
|
36
|
+
let mut spans = Vec::new();
|
|
37
|
+
let mut i = 0;
|
|
38
|
+
while i < bytes.len() {
|
|
39
|
+
if bytes[i] == b'{' {
|
|
40
|
+
let mut j = i + 1;
|
|
41
|
+
if j < bytes.len() && (bytes[j].is_ascii_alphabetic() || bytes[j] == b'_') {
|
|
42
|
+
j += 1;
|
|
43
|
+
while j < bytes.len() && (bytes[j].is_ascii_alphanumeric() || bytes[j] == b'_') {
|
|
44
|
+
j += 1;
|
|
45
|
+
}
|
|
46
|
+
if j < bytes.len() && bytes[j] == b'}' {
|
|
47
|
+
// Every byte in `i..=j` is ASCII, so these are char boundaries.
|
|
48
|
+
spans.push((i, j + 1, pattern[i + 1..j].to_string()));
|
|
49
|
+
i = j + 1;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
i += 1;
|
|
55
|
+
}
|
|
56
|
+
spans
|
|
57
|
+
}
|
|
58
|
+
|
|
28
59
|
/// Names of the `{name}` placeholders in `pattern`, in order of appearance.
|
|
29
60
|
pub fn placeholder_names(pattern: &str) -> Vec<String> {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
.map(|
|
|
61
|
+
placeholder_spans(pattern)
|
|
62
|
+
.into_iter()
|
|
63
|
+
.map(|(_, _, name)| name)
|
|
33
64
|
.collect()
|
|
34
65
|
}
|
|
35
66
|
|
|
36
67
|
/// Rewrite `{name}` placeholders in a glob to `*`, so they match a single path
|
|
37
68
|
/// segment without producing any captured value.
|
|
38
69
|
fn glob_with_placeholders_as_star(pattern: &str) -> String {
|
|
39
|
-
let
|
|
40
|
-
|
|
70
|
+
let spans = placeholder_spans(pattern);
|
|
71
|
+
if spans.is_empty() {
|
|
72
|
+
return pattern.to_string();
|
|
73
|
+
}
|
|
74
|
+
let mut out = String::with_capacity(pattern.len());
|
|
75
|
+
let mut last = 0;
|
|
76
|
+
for (start, end, _) in spans {
|
|
77
|
+
out.push_str(&pattern[last..start]);
|
|
78
|
+
out.push('*');
|
|
79
|
+
last = end;
|
|
80
|
+
}
|
|
81
|
+
out.push_str(&pattern[last..]);
|
|
82
|
+
out
|
|
41
83
|
}
|
|
42
84
|
|
|
43
85
|
impl TableMatcher {
|
|
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
|
|
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
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/e2e-attestations/claude-710-accumulate-onfile.json
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/e2e-attestations/claude-714-unify-file-failures.json
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/e2e-attestations/claude-715-binding-scan-failures.json
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/migrations.d/2026-07-24-remove-stat-fact-injection.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/dirsql.toml
RENAMED
|
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
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-batch-ingest-transaction.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-chained-pre-post-query-hooks.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-fan-out-file-table-matching.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-repeatable-builder-config.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-13-subcommand-local-config-flags.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-19-path-table-query-fallback.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-20-path-table-glob-semantics.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-23-init-escalation-example.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-24-remove-stat-fact-injection.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-07-29-on-file-failures-accumulate.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/changelog.d/2026-08-02-per-file-scan-failures.md
RENAMED
|
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
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-fan-out-file-table-matching.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-13-subcommand-local-config-flags.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-20-path-table-glob-semantics.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-23-init-escalation-example.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-07-24-remove-stat-fact-injection.md
RENAMED
|
File without changes
|
{dirsql-0.4.5 → dirsql-0.4.6}/packages/rust/migrations.d/2026-08-02-per-file-scan-failures.md
RENAMED
|
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
|