dirsql 0.4.4__tar.gz → 0.4.5__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.4 → dirsql-0.4.5}/Cargo.lock +1 -1
- {dirsql-0.4.4 → dirsql-0.4.5}/PKG-INFO +1 -1
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/_async.py +17 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/Cargo.toml +1 -1
- dirsql-0.4.5/packages/python/changelog.d/2026-08-02-scan-failures.md +18 -0
- dirsql-0.4.5/packages/python/e2e-attestations/claude-715-binding-scan-failures.json +7 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/src/lib.rs +37 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/Cargo.toml +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/README.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/__init__.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/_dirsql.pyi +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/__init__.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/binary_path.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/discover_plugins/__init__.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/discover_plugins/discovered_fragments.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/discover_plugins/discovery_disabled.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/discover_plugins/fragment_path.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/discover_plugins/user_passed_config.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/discover_plugins/with_discovered_plugins.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/is_windows.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/main.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/cli/resolve_config_extensions.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/py.typed +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/resolve_config_extensions.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/dirsql/resolve_extension.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/.vitepress/config.ts +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/AGENTS.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/explanation.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/getting-started.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/embed.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/persist.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/index.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/migrations.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/package.json +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/reference/cli.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/reference/columns.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/reference/config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/reference/hooks.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/reference/http-api.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/docs/reference/sdk.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/CHANGELOG.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/MIGRATIONS.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/README.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-13-plugin-discovery.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-13-repeatable-config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-29-restore-python-310.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-08-02-release-profile.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/README.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/conftest.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/.vitepress/config.ts +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/AGENTS.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/explanation.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/getting-started.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/embed.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/persist.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/index.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/migrations.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/package.json +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/reference/cli.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/reference/columns.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/reference/config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/reference/hooks.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/reference/http-api.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/docs/reference/sdk.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/e2e-attestations/claude-710-accumulate-onfile.json +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/e2e-attestations/claude-714-unify-file-failures.json +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-29-restore-python-310.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/README.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/tests/__init__.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/tests/conftest.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/tests/e2e/__init__.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/dirsql.toml +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/tests/integration/__init__.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/tests/integration/binding/__init__.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/python/tests/integration/hermetic/__init__.py +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/CHANGELOG.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/Cargo.toml +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/MIGRATIONS.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/README.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/benches/db_bench.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/benches/differ_bench.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/benches/matcher_bench.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/benches/scanner_bench.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-batch-ingest-transaction.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-chained-pre-post-query-hooks.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-fan-out-file-table-matching.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-persist-wal.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-repeatable-builder-config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-repeatable-cli-config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-subcommand-local-config-flags.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-19-path-table-query-fallback.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-19-path-table-vtab.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-20-path-table-glob-semantics.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-20-schema-inference.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-21-on-file-flag.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-23-init-escalation-example.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-23-query-default-cli.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-29-on-file-failures-accumulate.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-08-02-per-file-scan-failures.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-08-02-release-profile.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/README.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/explanation.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/getting-started.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/embed.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/persist.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/index.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/migrations.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/reference/cli.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/reference/columns.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/reference/config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/reference/hooks.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/reference/http-api.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/docs/reference/sdk.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-fan-out-file-table-matching.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-persist-wal.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-subcommand-local-config-flags.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-20-path-table-glob-semantics.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-23-init-escalation-example.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-23-query-default-cli.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-08-02-per-file-scan-failures.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/README.md +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/bin/dirsql.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/cli/execute.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/cli/init.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/cli/mod.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/cli/router.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/cli/serialize.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/cli/server.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/command.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/config.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/db.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/default_config.toml +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/differ.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/infer.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/lib.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/matcher.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/parsed_vtab.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/path_table.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/persist.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/scanner.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/vtab.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/src/watcher.rs +0 -0
- {dirsql-0.4.4 → dirsql-0.4.5}/pyproject.toml +0 -0
|
@@ -182,6 +182,23 @@ class DirSQL:
|
|
|
182
182
|
assert db is not None # ready() returned, so _init_bg set _db
|
|
183
183
|
return await asyncio.to_thread(db.query, sql)
|
|
184
184
|
|
|
185
|
+
async def scan_failures(self):
|
|
186
|
+
"""The files the initial scan could not index.
|
|
187
|
+
|
|
188
|
+
Each entry carries ``path`` (relative to the root) and ``message``
|
|
189
|
+
(the hook's own error). Empty after a clean scan, which is the signal
|
|
190
|
+
to check: a non-empty list means the index is *incomplete*, not wrong,
|
|
191
|
+
and those files are retried on the next scan.
|
|
192
|
+
|
|
193
|
+
Awaits :meth:`ready` first, so the scan has finished before the answer
|
|
194
|
+
is read -- otherwise a caller could see an empty list simply because
|
|
195
|
+
the scan had not reached the failing file yet.
|
|
196
|
+
"""
|
|
197
|
+
await self.ready()
|
|
198
|
+
db = self._db
|
|
199
|
+
assert db is not None # ready() returned, so _init_bg set _db
|
|
200
|
+
return db.scan_failures()
|
|
201
|
+
|
|
185
202
|
def watch(self):
|
|
186
203
|
"""Start watching for file changes. Returns an async iterable of RowEvent.
|
|
187
204
|
|
|
@@ -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.5"
|
|
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
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
**Added**
|
|
2
|
+
|
|
3
|
+
`await db.scan_failures()` returns the files the initial scan could not index —
|
|
4
|
+
a list of `ScanFailure`, each with `path` (relative to the root) and `message`
|
|
5
|
+
(the hook's own error). Empty after a clean scan (#715).
|
|
6
|
+
|
|
7
|
+
This closes a gap opened by #714. A file whose `on_file` hook raises, or whose
|
|
8
|
+
row the table rejects under `strict`, is skipped rather than failing the scan —
|
|
9
|
+
so a Python caller who previously got an exception got nothing at all: a
|
|
10
|
+
database quietly holding fewer rows, with no way to ask which files were
|
|
11
|
+
dropped. `scan_failures()` is that way.
|
|
12
|
+
|
|
13
|
+
It reports; it does not gate. The rows that did land are unaffected, and a
|
|
14
|
+
skipped file never enters the persistent index, so it is retried on the next
|
|
15
|
+
scan — the index is incomplete, never wrong.
|
|
16
|
+
|
|
17
|
+
Awaits `ready()` first, so an empty list means the scan finished cleanly rather
|
|
18
|
+
than that it had not yet reached the failing file.
|
|
@@ -97,6 +97,31 @@ mod python {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
+
/// One file the initial scan could not index, with the hook's own error.
|
|
101
|
+
///
|
|
102
|
+
/// A scan failure is not a scan *error*: the other files are indexed and
|
|
103
|
+
/// the database is usable. This is how a caller learns the index is
|
|
104
|
+
/// incomplete, and which files are missing from it.
|
|
105
|
+
#[pyclass(name = "ScanFailure", frozen)]
|
|
106
|
+
struct PyScanFailure {
|
|
107
|
+
/// Path relative to the scan root.
|
|
108
|
+
#[pyo3(get)]
|
|
109
|
+
path: String,
|
|
110
|
+
/// The hook's error, as it rendered it.
|
|
111
|
+
#[pyo3(get)]
|
|
112
|
+
message: String,
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
#[pymethods]
|
|
116
|
+
impl PyScanFailure {
|
|
117
|
+
fn __repr__(&self) -> String {
|
|
118
|
+
format!(
|
|
119
|
+
"ScanFailure(path={:?}, message={:?})",
|
|
120
|
+
self.path, self.message
|
|
121
|
+
)
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
100
125
|
/// Synchronous binding class. `dirsql._async.DirSQL` wraps it with
|
|
101
126
|
/// `asyncio.to_thread` to produce the async public API.
|
|
102
127
|
#[pyclass(name = "DirSQL")]
|
|
@@ -179,6 +204,17 @@ mod python {
|
|
|
179
204
|
Ok(list.unbind())
|
|
180
205
|
}
|
|
181
206
|
|
|
207
|
+
fn scan_failures(&self) -> Vec<PyScanFailure> {
|
|
208
|
+
self.inner
|
|
209
|
+
.scan_failures()
|
|
210
|
+
.iter()
|
|
211
|
+
.map(|f| PyScanFailure {
|
|
212
|
+
path: f.path.clone(),
|
|
213
|
+
message: f.message.clone(),
|
|
214
|
+
})
|
|
215
|
+
.collect()
|
|
216
|
+
}
|
|
217
|
+
|
|
182
218
|
fn _start_watcher(&self, py: Python<'_>) -> PyResult<()> {
|
|
183
219
|
let db = self.inner.clone();
|
|
184
220
|
py.detach(move || db.start_watching()).map_err(to_py_err)
|
|
@@ -415,6 +451,7 @@ mod python {
|
|
|
415
451
|
m.add_class::<PyTable>()?;
|
|
416
452
|
m.add_class::<PyDirSQL>()?;
|
|
417
453
|
m.add_class::<PyRowEvent>()?;
|
|
454
|
+
m.add_class::<PyScanFailure>()?;
|
|
418
455
|
Ok(())
|
|
419
456
|
}
|
|
420
457
|
|
|
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.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/changelog.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/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
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/e2e-attestations/claude-710-accumulate-onfile.json
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/e2e-attestations/claude-714-unify-file-failures.json
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/migrations.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/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
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/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
|
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-batch-ingest-transaction.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-chained-pre-post-query-hooks.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-fan-out-file-table-matching.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-repeatable-builder-config.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-13-subcommand-local-config-flags.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-19-path-table-query-fallback.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/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.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-23-init-escalation-example.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-24-remove-stat-fact-injection.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/changelog.d/2026-07-29-on-file-failures-accumulate.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/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.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-fan-out-file-table-matching.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-13-subcommand-local-config-flags.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-20-path-table-glob-semantics.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-23-init-escalation-example.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/packages/rust/migrations.d/2026-07-24-remove-stat-fact-injection.md
RENAMED
|
File without changes
|
{dirsql-0.4.4 → dirsql-0.4.5}/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
|
|
File without changes
|