dirsql 0.4.55__tar.gz → 0.4.56__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.55 → dirsql-0.4.56}/Cargo.lock +3 -2
- {dirsql-0.4.55 → dirsql-0.4.56}/PKG-INFO +1 -1
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/.vitepress/config.ts +1 -1
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/AGENTS.md +2 -2
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/reference/sdk.md +19 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/Cargo.toml +1 -1
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/.vitepress/config.ts +1 -1
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/AGENTS.md +2 -2
- {dirsql-0.4.55/packages/rust → dirsql-0.4.56/packages/python}/docs/reference/sdk.md +19 -0
- dirsql-0.4.56/packages/python/e2e-attestations/claude-1172-on-file-path.json +7 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/Cargo.toml +1 -1
- {dirsql-0.4.55/packages/python → dirsql-0.4.56/packages/rust}/docs/reference/sdk.md +19 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/command.rs +104 -9
- {dirsql-0.4.55 → dirsql-0.4.56}/Cargo.toml +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/README.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/__init__.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/_async.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/_dirsql.pyi +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/cli/__init__.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/cli/discover_plugins/__init__.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/cli/discover_plugins/discovered_fragments.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/cli/discover_plugins/discovery_disabled.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/cli/discover_plugins/fragment_path.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/cli/discover_plugins/user_passed_config.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/cli/discover_plugins/with_discovered_plugins.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/cli/main.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/cli/resolve_config_extensions.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/plan_entry_path.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/py.typed +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/read_config.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/resolve_configs_extension_specs.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/resolve_extension.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/dirsql/resolve_package.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/explanation.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/getting-started.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/embed.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/persist.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/query-json.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/search-indexes.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/index.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/package.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/plugins.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/reference/cli.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/reference/columns.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/reference/config.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/reference/hooks.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/reference/http-api.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/CHANGELOG.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/MIGRATIONS.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/README.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-13-plugin-discovery.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-13-repeatable-config.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-29-restore-python-310.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-02-release-profile.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-02-scan-failures.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-03-discovery-ext-resolution.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-03-manylinux-dynamic-binary.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-03-python-no-ignore.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-04-cast-lints.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-04-cli-in-process.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-20-curtaincall-dev-dependency.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-20-declared-table-name.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-04-config-paths-from-argv-module.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-05-config-extension-loader-split.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-05-resolve-config-extensions-split.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-05-resolve-extension-split.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-09-launcher-config-path-scan.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-17-extension-resolution-via-core.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-18-export-scan-failure.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-18-flatten-row-event-in-core.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-18-programmatic-extension-plan.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-20-sigint-ends-a-run-in-progress.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/README.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/conftest.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/explanation.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/getting-started.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/embed.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/persist.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/query-json.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/search-indexes.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/index.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/package.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/plugins.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/reference/cli.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/reference/columns.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/reference/config.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/reference/hooks.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/reference/http-api.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/cc-keen-knuth-f11gyq.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1056-py-ofpf9.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1066-p1-resolve-extension.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1078-argv-config-paths-core.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1079-p2-resolve-config-extensions.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1080-share-vtab-scaffolding.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1081-indicatif-progress.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1096-watch-moved-dir.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1109-watch-moved-out.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1119-ext-plan.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1120-py-ext.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1122-ext-cleanup.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1130-codec-crates.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1131-flatten-row-event.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1139-sse-flatten.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1140-scan-failure-export.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1148-clippy-all-targets.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1164-sigint-fatal.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-1170-projection-order.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-819-oneshot-timeout.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-827-unquote-doubled-quotes.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-epic-953-slice2-reedline.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-epic-953-slice3-format.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-epic-953-stacked-prs-x59wm3.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-github-issue-825-e4mhhp.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-issue-951-0eease.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-issue-962-0jjrfv.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-issue-986-red-test-e7sjrb.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-tackle-1034-cachesplit.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-tackle-1042-py12.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-tackle-956-xzen74.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-tackle-957-lrm0z6-worker-calls.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-tackle-957-lrm0z6.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/e2e-attestations/claude-tackle-975-n8mc2h.json +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-07-29-restore-python-310.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-08-04-cli-in-process.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-08-20-declared-table-name.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/2026-09-20-sigint-ends-a-run-in-progress.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/migrations.d/README.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/src/lib.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/testing-conventions.toml +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/tests/__init__.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/tests/conftest.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/tests/e2e/__init__.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/dirsql.toml +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/tests/integration/__init__.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/tests/integration/binding/__init__.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/python/tests/integration/hermetic/__init__.py +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/CHANGELOG.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/MIGRATIONS.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/README.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/benches/db_bench.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/benches/differ_bench.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/benches/matcher_bench.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/benches/scanner_bench.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/explanation.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/getting-started.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/embed.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/persist.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/query-json.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/search-indexes.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/index.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/plugins.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/reference/cli.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/reference/columns.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/reference/config.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/reference/hooks.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/reference/http-api.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/bin/dirsql.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/cli/execute.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/cli/init.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/cli/mod.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/cli/repl.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/cli/router.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/cli/run.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/cli/serialize.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/cli/server.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/cli/table.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/config.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/db.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/default_config.toml +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/differ.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/extension_resolution.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/functions.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/infer.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/launcher.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/lib.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/matcher.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/parsed_cache.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/parsed_vtab.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/path_table.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/persist.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/progress.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/row_event_flat.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/scanner.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/sql_literal.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/vtab.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/vtab_scaffold.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/packages/rust/src/watcher.rs +0 -0
- {dirsql-0.4.55 → dirsql-0.4.56}/pyproject.toml +0 -0
|
@@ -552,7 +552,7 @@ checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
|
|
|
552
552
|
|
|
553
553
|
[[package]]
|
|
554
554
|
name = "dirsql"
|
|
555
|
-
version = "0.4.
|
|
555
|
+
version = "0.4.56"
|
|
556
556
|
dependencies = [
|
|
557
557
|
"assert_cmd",
|
|
558
558
|
"axum",
|
|
@@ -592,6 +592,7 @@ name = "dirsql-napi"
|
|
|
592
592
|
version = "0.1.0"
|
|
593
593
|
dependencies = [
|
|
594
594
|
"dirsql",
|
|
595
|
+
"libc",
|
|
595
596
|
"napi",
|
|
596
597
|
"napi-build",
|
|
597
598
|
"napi-derive",
|
|
@@ -599,7 +600,7 @@ dependencies = [
|
|
|
599
600
|
|
|
600
601
|
[[package]]
|
|
601
602
|
name = "dirsql-py-ext"
|
|
602
|
-
version = "0.4.
|
|
603
|
+
version = "0.4.56"
|
|
603
604
|
dependencies = [
|
|
604
605
|
"dirsql",
|
|
605
606
|
"pyo3",
|
|
@@ -3,7 +3,7 @@ import { defineConfig } from 'vitepress'
|
|
|
3
3
|
export default defineConfig({
|
|
4
4
|
title: 'dirsql',
|
|
5
5
|
description: 'Ephemeral SQL index over a local directory. Watches a filesystem, ingests structured files into an ephemeral SQLite database, and exposes a SQL query interface.',
|
|
6
|
-
base: '/
|
|
6
|
+
base: '/',
|
|
7
7
|
|
|
8
8
|
// Vite blocks dev-server requests whose Host header isn't allowlisted, so
|
|
9
9
|
// `pnpm dev --host` reached by a network hostname (e.g. a Tailscale
|
|
@@ -14,7 +14,7 @@ pnpm install
|
|
|
14
14
|
pnpm dev
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
This starts a local dev server (default: `http://localhost:5173
|
|
17
|
+
This starts a local dev server (default: `http://localhost:5173/`). The site hot-reloads on file changes.
|
|
18
18
|
|
|
19
19
|
## Building
|
|
20
20
|
|
|
@@ -94,4 +94,4 @@ Working rules:
|
|
|
94
94
|
- Use VitePress [code group](https://vitepress.dev/guide/markdown#code-groups) syntax (`::: code-group`) for multi-language examples with `Python`, `Rust`, and `TypeScript` tabs
|
|
95
95
|
- Internal links use relative paths (e.g., `./howto/define-tables.md`)
|
|
96
96
|
- The VitePress config is at `docs/.vitepress/config.ts`
|
|
97
|
-
- The site is deployed
|
|
97
|
+
- The site is deployed at the root of `dirsql.dev`
|
|
@@ -239,6 +239,25 @@ than `Number.MAX_SAFE_INTEGER`, 2^53 − 1) cannot be represented as a JS
|
|
|
239
239
|
than return a rounded value. Python's `int` is unbounded, so it always
|
|
240
240
|
round-trips.
|
|
241
241
|
|
|
242
|
+
### `queryOrdered`
|
|
243
|
+
|
|
244
|
+
::: code-group
|
|
245
|
+
|
|
246
|
+
```typescript [TypeScript]
|
|
247
|
+
await db.queryOrdered(sql: string) -> { columns: string[]; rows: Record<string, unknown>[] }
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
```rust [Rust]
|
|
251
|
+
db.query_ordered(sql: &str) -> Result<QueryResult> // QueryResult { columns, rows }
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
:::
|
|
255
|
+
|
|
256
|
+
Runs `query` and also returns the column names in the order the SELECT list
|
|
257
|
+
names them. Use it to render columns in the order the caller asked for: a
|
|
258
|
+
row's keys do not carry that order. In TypeScript, object keys that look like
|
|
259
|
+
integers always enumerate first.
|
|
260
|
+
|
|
242
261
|
### `watch`
|
|
243
262
|
|
|
244
263
|
::: code-group
|
|
@@ -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.56"
|
|
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
|
|
@@ -3,7 +3,7 @@ import { defineConfig } from 'vitepress'
|
|
|
3
3
|
export default defineConfig({
|
|
4
4
|
title: 'dirsql',
|
|
5
5
|
description: 'Ephemeral SQL index over a local directory. Watches a filesystem, ingests structured files into an ephemeral SQLite database, and exposes a SQL query interface.',
|
|
6
|
-
base: '/
|
|
6
|
+
base: '/',
|
|
7
7
|
|
|
8
8
|
// Vite blocks dev-server requests whose Host header isn't allowlisted, so
|
|
9
9
|
// `pnpm dev --host` reached by a network hostname (e.g. a Tailscale
|
|
@@ -14,7 +14,7 @@ pnpm install
|
|
|
14
14
|
pnpm dev
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
This starts a local dev server (default: `http://localhost:5173
|
|
17
|
+
This starts a local dev server (default: `http://localhost:5173/`). The site hot-reloads on file changes.
|
|
18
18
|
|
|
19
19
|
## Building
|
|
20
20
|
|
|
@@ -94,4 +94,4 @@ Working rules:
|
|
|
94
94
|
- Use VitePress [code group](https://vitepress.dev/guide/markdown#code-groups) syntax (`::: code-group`) for multi-language examples with `Python`, `Rust`, and `TypeScript` tabs
|
|
95
95
|
- Internal links use relative paths (e.g., `./howto/define-tables.md`)
|
|
96
96
|
- The VitePress config is at `docs/.vitepress/config.ts`
|
|
97
|
-
- The site is deployed
|
|
97
|
+
- The site is deployed at the root of `dirsql.dev`
|
|
@@ -239,6 +239,25 @@ than `Number.MAX_SAFE_INTEGER`, 2^53 − 1) cannot be represented as a JS
|
|
|
239
239
|
than return a rounded value. Python's `int` is unbounded, so it always
|
|
240
240
|
round-trips.
|
|
241
241
|
|
|
242
|
+
### `queryOrdered`
|
|
243
|
+
|
|
244
|
+
::: code-group
|
|
245
|
+
|
|
246
|
+
```typescript [TypeScript]
|
|
247
|
+
await db.queryOrdered(sql: string) -> { columns: string[]; rows: Record<string, unknown>[] }
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
```rust [Rust]
|
|
251
|
+
db.query_ordered(sql: &str) -> Result<QueryResult> // QueryResult { columns, rows }
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
:::
|
|
255
|
+
|
|
256
|
+
Runs `query` and also returns the column names in the order the SELECT list
|
|
257
|
+
names them. Use it to render columns in the order the caller asked for: a
|
|
258
|
+
row's keys do not carry that order. In TypeScript, object keys that look like
|
|
259
|
+
integers always enumerate first.
|
|
260
|
+
|
|
242
261
|
### `watch`
|
|
243
262
|
|
|
244
263
|
::: code-group
|
|
@@ -6,7 +6,7 @@ description = "Ephemeral SQL index over a local directory"
|
|
|
6
6
|
# version stays for the binding crates (publish = false). The literal
|
|
7
7
|
# intentionally lags the published version: putitoutthere rewrites it to
|
|
8
8
|
# the planned release version at build time and never commits it back.
|
|
9
|
-
version = "0.4.
|
|
9
|
+
version = "0.4.56"
|
|
10
10
|
edition.workspace = true
|
|
11
11
|
# Literal `license` (not `license.workspace = true`) because
|
|
12
12
|
# putitoutthere's preflight check reads `[package].license` directly
|
|
@@ -239,6 +239,25 @@ than `Number.MAX_SAFE_INTEGER`, 2^53 − 1) cannot be represented as a JS
|
|
|
239
239
|
than return a rounded value. Python's `int` is unbounded, so it always
|
|
240
240
|
round-trips.
|
|
241
241
|
|
|
242
|
+
### `queryOrdered`
|
|
243
|
+
|
|
244
|
+
::: code-group
|
|
245
|
+
|
|
246
|
+
```typescript [TypeScript]
|
|
247
|
+
await db.queryOrdered(sql: string) -> { columns: string[]; rows: Record<string, unknown>[] }
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
```rust [Rust]
|
|
251
|
+
db.query_ordered(sql: &str) -> Result<QueryResult> // QueryResult { columns, rows }
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
:::
|
|
255
|
+
|
|
256
|
+
Runs `query` and also returns the column names in the order the SELECT list
|
|
257
|
+
names them. Use it to render columns in the order the caller asked for: a
|
|
258
|
+
row's keys do not carry that order. In TypeScript, object keys that look like
|
|
259
|
+
integers always enumerate first.
|
|
260
|
+
|
|
242
261
|
### `watch`
|
|
243
262
|
|
|
244
263
|
::: code-group
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
//! - **Errors.** A non-zero exit is a failure carrying the tail of stderr.
|
|
27
27
|
|
|
28
28
|
use std::io::{Read, Write};
|
|
29
|
-
use std::path::Path;
|
|
29
|
+
use std::path::{Path, PathBuf};
|
|
30
30
|
use std::process::{Command, Stdio};
|
|
31
31
|
|
|
32
32
|
/// A named placeholder substituted into a command's argv.
|
|
@@ -66,14 +66,22 @@ pub enum CommandError {
|
|
|
66
66
|
#[error("invalid command template: {0:?}")]
|
|
67
67
|
InvalidCommand(String),
|
|
68
68
|
|
|
69
|
-
/// The child could not be spawned
|
|
70
|
-
#[error("failed to spawn `{
|
|
69
|
+
/// The child could not be spawned.
|
|
70
|
+
#[error("failed to spawn `{program}`: {source}")]
|
|
71
71
|
Spawn {
|
|
72
|
-
|
|
72
|
+
program: String,
|
|
73
73
|
#[source]
|
|
74
74
|
source: std::io::Error,
|
|
75
75
|
},
|
|
76
76
|
|
|
77
|
+
/// A program named without a `/` was not found on `$PATH`. `local` is the
|
|
78
|
+
/// file of that name in the child's cwd, which a bare name never reaches.
|
|
79
|
+
#[error("failed to spawn `{program}`: not found on $PATH{}", local_hint(.program, .local.as_deref()))]
|
|
80
|
+
NotOnPath {
|
|
81
|
+
program: String,
|
|
82
|
+
local: Option<PathBuf>,
|
|
83
|
+
},
|
|
84
|
+
|
|
77
85
|
/// The child exited with a non-zero status. `code` is the exit code, or
|
|
78
86
|
/// `"signal"` when the child was terminated by a signal.
|
|
79
87
|
#[error("command `{command}` failed (exit {code}): {stderr_tail}")]
|
|
@@ -121,10 +129,9 @@ pub fn run_command(
|
|
|
121
129
|
Stdio::null()
|
|
122
130
|
});
|
|
123
131
|
|
|
124
|
-
let mut child = cmd
|
|
125
|
-
|
|
126
|
-
source,
|
|
127
|
-
})?;
|
|
132
|
+
let mut child = cmd
|
|
133
|
+
.spawn()
|
|
134
|
+
.map_err(|source| spawn_error(&argv[0], source, cwd))?;
|
|
128
135
|
|
|
129
136
|
// Feed stdin and drain stdout/stderr on their own threads. Draining the
|
|
130
137
|
// output pipes concurrently is required: a child that writes more than a
|
|
@@ -186,6 +193,37 @@ pub fn run_command(
|
|
|
186
193
|
}
|
|
187
194
|
}
|
|
188
195
|
|
|
196
|
+
fn spawn_error(program: &str, source: std::io::Error, cwd: &Path) -> CommandError {
|
|
197
|
+
// A missing cwd fails the child's chdir with `NotFound` too.
|
|
198
|
+
if !searched_path(program, source.kind()) || !cwd.is_dir() {
|
|
199
|
+
return CommandError::Spawn {
|
|
200
|
+
program: program.to_string(),
|
|
201
|
+
source,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
let candidate = cwd.join(program);
|
|
205
|
+
CommandError::NotOnPath {
|
|
206
|
+
program: program.to_string(),
|
|
207
|
+
local: candidate.is_file().then_some(candidate),
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/// A `NotFound` for a name without a `/` means the `$PATH` search came up
|
|
212
|
+
/// empty (`execvp` semantics); with a `/` the name was a path.
|
|
213
|
+
fn searched_path(program: &str, kind: std::io::ErrorKind) -> bool {
|
|
214
|
+
kind == std::io::ErrorKind::NotFound && !program.contains('/')
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
fn local_hint(program: &str, local: Option<&Path>) -> String {
|
|
218
|
+
match local {
|
|
219
|
+
Some(path) => format!(
|
|
220
|
+
". Names without a `/` are resolved against $PATH; use `./{program}` to run `{}`",
|
|
221
|
+
path.display()
|
|
222
|
+
),
|
|
223
|
+
None => String::new(),
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
189
227
|
/// Split a command template into argv (shell-like quoting, no shell) and
|
|
190
228
|
/// substitute placeholders into whole tokens.
|
|
191
229
|
pub(crate) fn build_argv(
|
|
@@ -444,8 +482,65 @@ mod tests {
|
|
|
444
482
|
}
|
|
445
483
|
|
|
446
484
|
#[test]
|
|
447
|
-
fn
|
|
485
|
+
fn run_command_reports_a_bare_missing_program_as_not_on_path() {
|
|
448
486
|
let err = run_command("definitely-not-a-real-binary-xyzzy", &[], &cwd(), None).unwrap_err();
|
|
487
|
+
assert!(
|
|
488
|
+
matches!(err, CommandError::NotOnPath { local: None, .. }),
|
|
489
|
+
"got: {err:?}"
|
|
490
|
+
);
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
#[test]
|
|
494
|
+
fn run_command_reports_a_missing_path_as_a_plain_spawn_error() {
|
|
495
|
+
let err =
|
|
496
|
+
run_command("./definitely-not-a-real-binary-xyzzy", &[], &cwd(), None).unwrap_err();
|
|
449
497
|
assert!(matches!(err, CommandError::Spawn { .. }), "got: {err:?}");
|
|
450
498
|
}
|
|
499
|
+
|
|
500
|
+
#[test]
|
|
501
|
+
fn a_bare_not_found_name_searched_path() {
|
|
502
|
+
assert!(searched_path("extract.py", std::io::ErrorKind::NotFound));
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
#[test]
|
|
506
|
+
fn a_name_with_a_slash_did_not_search_path() {
|
|
507
|
+
assert!(!searched_path("./extract.py", std::io::ErrorKind::NotFound));
|
|
508
|
+
assert!(!searched_path(
|
|
509
|
+
"bin/extract.py",
|
|
510
|
+
std::io::ErrorKind::NotFound
|
|
511
|
+
));
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
#[test]
|
|
515
|
+
fn a_non_not_found_error_did_not_search_path() {
|
|
516
|
+
assert!(!searched_path(
|
|
517
|
+
"extract.py",
|
|
518
|
+
std::io::ErrorKind::PermissionDenied
|
|
519
|
+
));
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
#[test]
|
|
523
|
+
fn not_on_path_without_a_local_file_offers_no_hint() {
|
|
524
|
+
let err = CommandError::NotOnPath {
|
|
525
|
+
program: "extract.py".to_string(),
|
|
526
|
+
local: None,
|
|
527
|
+
};
|
|
528
|
+
assert_eq!(
|
|
529
|
+
err.to_string(),
|
|
530
|
+
"failed to spawn `extract.py`: not found on $PATH"
|
|
531
|
+
);
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
#[test]
|
|
535
|
+
fn not_on_path_with_a_local_file_offers_the_dot_slash_form() {
|
|
536
|
+
let err = CommandError::NotOnPath {
|
|
537
|
+
program: "extract.py".to_string(),
|
|
538
|
+
local: Some(PathBuf::from("/notes/extract.py")),
|
|
539
|
+
};
|
|
540
|
+
assert_eq!(
|
|
541
|
+
err.to_string(),
|
|
542
|
+
"failed to spawn `extract.py`: not found on $PATH. Names without a `/` are \
|
|
543
|
+
resolved against $PATH; use `./extract.py` to run `/notes/extract.py`"
|
|
544
|
+
);
|
|
545
|
+
}
|
|
451
546
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md
RENAMED
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-07-29-restore-python-310.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-03-discovery-ext-resolution.md
RENAMED
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-03-manylinux-dynamic-binary.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-20-curtaincall-dev-dependency.md
RENAMED
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-08-20-declared-table-name.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-05-resolve-extension-split.md
RENAMED
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-09-launcher-config-path-scan.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-18-export-scan-failure.md
RENAMED
|
File without changes
|
{dirsql-0.4.55 → dirsql-0.4.56}/packages/python/changelog.d/2026-09-18-flatten-row-event-in-core.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
|