mainsequence-metatable 0.1.60.dev91__tar.gz → 0.1.61.dev92__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.
- {mainsequence_metatable-0.1.60.dev91/src/mainsequence_metatable.egg-info → mainsequence_metatable-0.1.61.dev92}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/pyproject.toml +1 -1
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92/src/mainsequence_metatable.egg-info}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/mainsequence_metatable.egg-info/SOURCES.txt +1 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/compiled_sql/v1.py +46 -4
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/test_encryption.py +19 -0
- mainsequence_metatable-0.1.61.dev92/tests/integrations/test_sqlite_expanded_in.py +108 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/uv.lock +1 -1
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/client/metatables-local-development/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/client/metatables-meta-tables/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/client/metatables-migrations/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/client/metatables-table-discovery/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/client/metatables-time-index-table-updates/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/ms_tau_sdk/PINNED_FROM.txt +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/ms_tau_sdk/design-agent-icons-and-motion/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/ms_tau_sdk/design-agent-icons-and-motion/agents/openai.yaml +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/ms_tau_sdk/design-agent-icons-and-motion/references/metatables-example.html +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/ms_tau_sdk/tau_a2a_runtime_adapter/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/ms_tau_sdk/tau_local_development/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/ms_tau_sdk/tau_project_customization/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/ms_tau_sdk/tau_repository_integration/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.agents/skills/ms_tau_sdk/tau_security_and_access/SKILL.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/.mainsequence/workflows/metatables-api.yaml +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/LICENSE +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/MANIFEST.in +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/alembic.ini +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/compose.database-tests.yml +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/agent/0019-metatables-analyst-agent.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/agent/0020-analyst-reads-as-its-requester.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/agent/0021-api-serves-the-analyst-tools-over-mcp.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0001-unified-api-storage-and-local-sqlite.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0002-application-administration-and-table-ownership.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0004-approved-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0005-run-logs-and-local-file-capture.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0006-historical-run-graphs.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0007-database-enforced-table-access.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0007-database-roles-and-privileges.svg +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0007-query-enforcement-path.svg +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0008-mysql-mssql-table-workflows.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0009-shared-credential-store.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0010-import-external-tables-and-views.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0012-bounded-data-transfer-and-safe-retries.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0013-application-owned-migrations.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0014-main-sequence-release-jobs-and-production-migrations.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0015-timescale-compression-and-retention-policies.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0016-impact-preflight.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0017-hosted-request-identity.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0018-search-document-pipeline.svg +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0018-table-search.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0022-concurrent-requests-and-connection-reuse.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0023-daily-security-check.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0024-namespace-and-table-access-roles.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/api/0026-atomic-statement-lists.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/client/0003-api-endpoint-resolution.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/client/0011-cli-local-development-with-managed-admin.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/client/0025-application-encrypted-columns.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/index.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/authentication-and-errors.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/data-sources.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/openapi.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/overview.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/reference.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/tables-and-migrations.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/time-index-and-updates.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/assets/branding/metatables.svg +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/assets/diagrams/local-client-experience.svg +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/assets/diagrams/namespace-access.svg +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/bounded-transfers.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/build-an-updater.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/define-and-migrate-tables.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/deploy-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/installation-and-connection.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/local-storage.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/query-and-mutate.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/quickstart.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/read-existing-time-index-tables.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/register-existing-tables.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/tutorial.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/upgrade-legacy-app.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/concepts/architecture.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/concepts/data-sources.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/concepts/identity-and-scope.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/concepts/permissions-namespaces-labels.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/concepts/runs-and-execution-graphs.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/concepts/table-contracts-and-lifecycle.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/concepts/time-index-tables-and-updates.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/contributing/architecture-and-boundaries.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/contributing/database-backends.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/contributing/documentation.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/contributing/releasing.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/contributing/testing.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/query.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/index.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/operations/catalog-migrations.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/operations/configuration.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/operations/hosted-runtime.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/operations/local-runtime.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/operations/recovery-and-observability.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/operations/run-history.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/operations/run-logs.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/reference/capabilities.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/reference/cli.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/reference/python.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/security/index.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/security/ownership-and-sharing.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/security/permissions.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/mkdocs.yml +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/build_reference.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/check_boundaries.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/check_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/check_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/check_docs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/check_examples_debug.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/check_project.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/test_databases.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/scripts/test_postgresql.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/setup.cfg +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/mainsequence_metatable.egg-info/dependency_links.txt +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/mainsequence_metatable.egg-info/entry_points.txt +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/mainsequence_metatable.egg-info/requires.txt +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/mainsequence_metatable.egg-info/top_level.txt +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/_admin_source.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/_build.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/_skill_bundle.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/analysis.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/analyst/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/auth/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/auth/boundary.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/auth/local_actor.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/auth/team_membership.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/bootstrap.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/configuration.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/connection_count.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/credential_admin.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/development.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/development_client.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/error_logging.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/main.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/mcp.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/platform_cache.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/access_map.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/caller.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/column_search.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/contract_validation.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/data_sources.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/managed_finalize.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/namespaces.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/run_logs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/security.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_cascade.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_crud.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_delete.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_filter.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_import.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_introspection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_patch.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_registration.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_response.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_search.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_search_document.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_sql.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/time_index_reads.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/update_batch.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/update_chunk_insert.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/update_constants.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/update_crud.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/update_details.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/update_graph.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/update_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/update_registration.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/update_runs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/routes/update_statistics.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/runtime.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/runtime_control.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/runtime_database.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/source_passwords.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/app/transfer.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/access.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/maintenance/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/maintenance/postgresql.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/maintenance/runtime.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/maintenance/temporal.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/maintenance/timescaledb.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/maintenance/validation.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/postgresql_cascade_delete.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/postgresql_introspection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/postgresql_table_delete.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/postgresql_time_index.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/postgresql_time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/postgresql_time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/postgresql_time_index_write.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/source_validation.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/sqlite_connection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/sqlite_introspection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/adapters/table_cursor.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/batch_inspection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/catalog.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/catalog_ddl.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/catalog_types.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/connection_pool.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/contracts.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/hosted.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/hosted_access.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/native.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/operations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/pages.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/postgresql_access.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/registry.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/relation_tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/relational.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/restricted_sql.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/sqlite_access.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/streaming.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/backends/timescale.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/contracts/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/contracts/relation_import.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/contracts/storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/contracts/table_contracts.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/contracts/values.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/domain/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/domain/access_roles.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/domain/catalog_rules.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/domain/data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/domain/index_statistics.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/domain/label_rules.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/domain/permission_rules.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/domain/update_constants.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/catalog_data_sources.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/credential_keys.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/credential_store.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/data_source_provider.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/local_credentials.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/local_workspace.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/platform_principals.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/run_logs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/runtime_binding.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/runtime_data_sources.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/security_check_job.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/integrations/source_validation.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0001_initial.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0002_security_model.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0003_run_log_capture.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0004_historical_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0005_database_access.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0006_local_credentials.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0007_external_relation_names.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0008_upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0009_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0010_cascade_targets.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0011_table_search.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0012_table_creator.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0013_security_check.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0014_access_roles.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/0015_namespace_creator.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/bootstrap_migrations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/bootstrap_timing.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/catalog_schema.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/create_table.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/finalize_managed.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/import_relations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/introspect_table.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/read_time_index.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/register_catalog.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/operations/security_check.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/cascade.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/catalog.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/database.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/grants.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/impact.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/labels.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/locking.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/models.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/physical_operations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/projections.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/run_graphs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/sqlite_types.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/table_queries.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/table_response.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/update_graph.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/updates.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/persistence/upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/presentation/data_source_summary.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/search/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/search/documents.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/search/embeddings.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/search/index.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/search/ranking.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/search/text.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/backend/search/worker.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/metatables/configuration.yaml +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/api/request_timing.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/cli/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/cli/admin_install.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/cli/app.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/cli/encryption.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/cli/filters.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/cli/local.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/cli/migrations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/cli/project.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/cli/skills.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/compiled_sql/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/compiled_sql/mssql.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/dtype_codec.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/encryption.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/endpoint.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/envelope_contract.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/query.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/future_registry.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/hashing.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/instrumentation.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/local_connection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/local_files.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/log_contract.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/alembic.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/connection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/provider.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/runner.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/scaffold.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/sqlite.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/templates/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/templates/env.py.mako +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/templates/script.py.mako +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/migrations/tls.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/models.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/pydantic_metadata.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/run_logging.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/runtime.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/runtime_contract.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/schema_names.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/sdk_compat.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/sqlalchemy_contracts.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/storage_layout_contract.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/time_index_table_refs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/transfer.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/transfer_contract.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/transport.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/update_configuration_contract.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/updaters/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/updaters/configuration.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/updaters/dependencies.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/updaters/managers.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/updaters/namespacing.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/updaters/runner.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/updaters/updaters.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/updaters/utils.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/src/metatables/upload.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/analyst/test_agent_surface.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/analyst/test_api_search.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/analyst/test_mcp.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/analyst/test_tools.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_bootstrap_failure_cause.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_caller_endpoint.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_data_source_identity.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_development_client.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_hosted_agent.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_hosted_environment_target.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_local_mode.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_platform_fact_cache.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_request_identity.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_runtime_database.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_runtime_scaffold.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_runtime_selection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_runtime_storage_binding.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_source_passwords.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/auth/test_team_membership.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/catalog/test_catalog_foundation.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/catalog/test_contract_projection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/catalog/test_database_config.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/catalog/test_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/catalog/test_migration.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/catalog/test_schema_validation.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/conftest.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/capabilities.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/client_signatures.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/database_operations.json +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/test_bounded_transfer.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/test_compiled_statement_lists.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/test_compiler_runtime_source.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/test_relation_batching.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/test_runtime_contract_compat.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/test_storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/test_table_contracts.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/contracts/test_update_configuration_hash.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/Dockerfile +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/Dockerfile.dockerignore +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/conftest.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/provider/__init__.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/provider/env.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/provider/versions/0001_measurement.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/test_api_contract.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/test_application_migration.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/test_bootstrap_recovery.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/test_catalog_contract.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/test_credential_catalog.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/test_physical_contract.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/test_sql_security.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_backend/test_update_client.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_operations/test_physical_operations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_operations/test_postgresql_operations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/database_operations/test_runtime_and_temporal.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/documentation/test_project_checks.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_admin_installation.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_api_endpoint.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_application_owned_migrations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_catalog_outage.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_client_api_contract.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_client_migration_scaffold.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_client_migration_tls.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_client_package.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_client_signatures.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_client_value_behaviors.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_data_source_registry.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_encrypted_columns.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_local_actor_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_local_cli_workflow.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_local_client_selection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_managed_finalize_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_managed_finalize_unchanged.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_migration_metadata_and_downgrade.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_namespaces_admin_http.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_public_imports.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_remaining_client_routes.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_run_logs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_runtime_upgrade.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_sdk_local_startup.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_sqlite_runtime.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_statement_lists.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_table_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_table_filter_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_table_introspection_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_table_patch_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_table_search_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_table_search_document_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_table_search_scale.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_table_stats_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_table_updates_http.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_time_index_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_time_index_reads_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_timescale_policies_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_update_batch_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_update_chunk_insert_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_update_dependency_priority_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_update_index_statistics_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/e2e/test_update_registration_client_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/examples/test_documented_examples.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/examples/test_postgresql_examples.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/examples/test_setup_launch.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/examples/test_tutorial.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_batch_introspection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_connection_reuse.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_credential_store.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_local_data_sources.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_postgresql_sql.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_request_timing.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_serving_policy.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_source_validation.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_sqlite_operations.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/integrations/test_sqlite_statement_lists.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/labels/test_labels.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/operations/test_bootstrap_lock.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/operations/test_create_table_operation.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/operations/test_create_table_postgres.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/operations/test_physical_operation_journal.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/operations/test_register_catalog.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/operations/test_search_documents.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/operations/test_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/packaging/test_client_skills.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/packaging/test_dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/packaging/test_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/packaging/test_editable_build.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/packaging/test_installed_distribution.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/packaging/test_requirements_export.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_access_map.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_deployment_security.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_governed_sql_scope.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_incremental_security.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_local_actor_membership.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_migration_boundary.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_namespace_grants.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_security_api.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_security_check.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_table_grants.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_table_queries.py +0 -0
- {mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/tests/permissions/test_workload_principals.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mainsequence-metatable"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.61.dev92"
|
|
8
8
|
description = "Main Sequence MetaTables Python client and standalone API"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13"
|
|
@@ -583,6 +583,7 @@ tests/integrations/test_postgresql_time_index_queries.py
|
|
|
583
583
|
tests/integrations/test_request_timing.py
|
|
584
584
|
tests/integrations/test_serving_policy.py
|
|
585
585
|
tests/integrations/test_source_validation.py
|
|
586
|
+
tests/integrations/test_sqlite_expanded_in.py
|
|
586
587
|
tests/integrations/test_sqlite_operations.py
|
|
587
588
|
tests/integrations/test_sqlite_statement_lists.py
|
|
588
589
|
tests/labels/test_labels.py
|
|
@@ -173,20 +173,27 @@ def _compile(
|
|
|
173
173
|
)
|
|
174
174
|
parameter_types = _compiled_sqlalchemy_parameter_types(compiled)
|
|
175
175
|
parameters = dict(compiled.params)
|
|
176
|
+
# render_postcompile renames each IN value: uid_1 becomes uid_1_1, uid_1_2, ...
|
|
177
|
+
# SQLAlchemy's expanded state names them and their processors (MetaTables #100).
|
|
178
|
+
expanded = compiled.construct_expanded_state()
|
|
179
|
+
bind_types = dict(_rendered_bind_types(compiled, expanded.parameter_expansion))
|
|
176
180
|
# Values bound to an EncryptedString leave the process encrypted on every dialect (ADR 0025).
|
|
177
181
|
from metatables.encryption import EncryptedString
|
|
178
|
-
for name,
|
|
179
|
-
if isinstance(
|
|
180
|
-
parameters[name] =
|
|
182
|
+
for name, bind_type in bind_types.items():
|
|
183
|
+
if isinstance(bind_type, EncryptedString) and name in parameters:
|
|
184
|
+
parameters[name] = bind_type.process_bind_param(parameters[name], compiled.dialect)
|
|
181
185
|
if dialect in {"sqlite", "mysql", "mssql"}:
|
|
182
186
|
from datetime import datetime, timezone
|
|
183
|
-
|
|
187
|
+
processors = {**compiled._bind_processors, **expanded.processors}
|
|
188
|
+
for name, processor in processors.items():
|
|
184
189
|
if name in parameters:
|
|
185
190
|
value = parameters[name]
|
|
186
191
|
if isinstance(value, datetime):
|
|
187
192
|
if value.tzinfo is None:
|
|
188
193
|
raise ValueError("Timestamps require a UTC offset.")
|
|
189
194
|
value = value.astimezone(timezone.utc)
|
|
195
|
+
elif isinstance(value, str) and _binds_uuid_objects(bind_types.get(name)):
|
|
196
|
+
value = _uuid_from_text(name, value)
|
|
190
197
|
parameters[name] = value if isinstance(value, datetime) else processor(value)
|
|
191
198
|
|
|
192
199
|
if paramstyle == "qmark":
|
|
@@ -286,6 +293,41 @@ def compile_sqlalchemy_statements(
|
|
|
286
293
|
)
|
|
287
294
|
|
|
288
295
|
|
|
296
|
+
def _binds_uuid_objects(bind_type: Any) -> bool:
|
|
297
|
+
"""A plain ``Uuid(as_uuid=True)``, whose SQLite and MySQL processor needs ``uuid.UUID``."""
|
|
298
|
+
from sqlalchemy import Uuid
|
|
299
|
+
|
|
300
|
+
return isinstance(bind_type, Uuid) and bool(bind_type.as_uuid)
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
def _uuid_from_text(name: str, value: str):
|
|
304
|
+
"""Accept a UUID written as text, as PostgreSQL does (MetaTables #101)."""
|
|
305
|
+
from uuid import UUID
|
|
306
|
+
|
|
307
|
+
try:
|
|
308
|
+
return UUID(value)
|
|
309
|
+
except ValueError:
|
|
310
|
+
raise ValueError(
|
|
311
|
+
f"Parameter {name!r} binds a Uuid column, but {value!r} is not a UUID."
|
|
312
|
+
) from None
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
def _rendered_bind_types(compiled: Any, expansion: Mapping[str, Sequence[str]]):
|
|
316
|
+
"""Each rendered parameter's name with its bind's type, expanded IN values included.
|
|
317
|
+
|
|
318
|
+
A tuple IN expands row by row, one parameter per element, each with its element's type.
|
|
319
|
+
"""
|
|
320
|
+
from sqlalchemy.sql.sqltypes import TupleType
|
|
321
|
+
|
|
322
|
+
for bind, name in compiled.bind_names.items():
|
|
323
|
+
if name not in expansion:
|
|
324
|
+
yield name, bind.type
|
|
325
|
+
continue
|
|
326
|
+
types = bind.type.types if isinstance(bind.type, TupleType) else (bind.type,)
|
|
327
|
+
for index, rendered in enumerate(expansion[name]):
|
|
328
|
+
yield rendered, types[index % len(types)]
|
|
329
|
+
|
|
330
|
+
|
|
289
331
|
def _compiled_sqlalchemy_parameter_types(compiled: Any) -> dict[str, str]:
|
|
290
332
|
parameter_types: dict[str, str] = {}
|
|
291
333
|
bind_names = getattr(compiled, "bind_names", {}) or {}
|
|
@@ -188,6 +188,25 @@ def test_compiled_statements_carry_envelopes_on_every_dialect(keyrings):
|
|
|
188
188
|
assert any(is_envelope(value) for value in values)
|
|
189
189
|
|
|
190
190
|
|
|
191
|
+
def test_values_of_an_in_list_leave_encrypted_on_every_dialect(keyrings):
|
|
192
|
+
"""IN values render as api_key_1_1, api_key_1_2, ...; each is sealed (MetaTables #100)."""
|
|
193
|
+
from sqlalchemy import select
|
|
194
|
+
|
|
195
|
+
from metatables.compiled_sql.v1 import compile_sqlalchemy_statement
|
|
196
|
+
|
|
197
|
+
physical = Account.__table__
|
|
198
|
+
statement = select(physical.c.uid).where(physical.c.api_key.in_(["hunter2", "swordfish"]))
|
|
199
|
+
for dialect in ("postgresql", "sqlite", "mysql", "mssql"):
|
|
200
|
+
operation = compile_sqlalchemy_statement(
|
|
201
|
+
statement, operation="select", data_source_uid="00000000-0000-0000-0000-000000000001",
|
|
202
|
+
dialect=dialect,
|
|
203
|
+
)
|
|
204
|
+
parameters = operation.statement.parameters
|
|
205
|
+
values = parameters if isinstance(parameters, list) else list(parameters.values())
|
|
206
|
+
assert len(values) == 2 and all(is_envelope(value) for value in values), (dialect, values)
|
|
207
|
+
assert "hunter2" not in json.dumps(values) and "swordfish" not in json.dumps(values)
|
|
208
|
+
|
|
209
|
+
|
|
191
210
|
@pytest.mark.parametrize("definition, message", [
|
|
192
211
|
("Column(Integer, primary_key=True)", "primary key"),
|
|
193
212
|
("Column(unique=True)", "unique"),
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"""IN lists and text UUIDs bind like equality on the local SQLite backend.
|
|
2
|
+
|
|
3
|
+
render_postcompile renames each IN value (uid_1 becomes uid_1_1, uid_1_2, ...); the
|
|
4
|
+
compiler must still run each value through its column type's bind processor
|
|
5
|
+
(MetaTables #100). A UUID written as text binds like a ``uuid.UUID``, as PostgreSQL
|
|
6
|
+
accepts it (MetaTables #101).
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import sqlite3
|
|
10
|
+
import uuid
|
|
11
|
+
|
|
12
|
+
import pytest
|
|
13
|
+
from mainsequence.code_repository_context import GitCodeRepositorySourceContext
|
|
14
|
+
from sqlalchemy import Boolean, Column, Integer, MetaData, Table, Uuid, insert, select, tuple_
|
|
15
|
+
|
|
16
|
+
from metatables import MetaTableCompiledSQLOperation
|
|
17
|
+
from metatables.api.backend.backends.access import ExecutionIdentity
|
|
18
|
+
from metatables.api.backend.backends.registry import backend_for
|
|
19
|
+
from metatables.api.backend.integrations.local_workspace import select_local_workspace
|
|
20
|
+
from metatables.compiled_sql.v1 import compile_sqlalchemy_statement
|
|
21
|
+
|
|
22
|
+
item = Table(
|
|
23
|
+
"item", MetaData(),
|
|
24
|
+
Column("uid", Uuid(as_uuid=True), primary_key=True),
|
|
25
|
+
Column("active", Boolean, nullable=False),
|
|
26
|
+
Column("rank", Integer, nullable=False),
|
|
27
|
+
)
|
|
28
|
+
FIRST = uuid.UUID("95dcdfeb-f8c0-4b33-b942-4ecc3fc73431")
|
|
29
|
+
SECOND = uuid.UUID("0b8a3c1e-4f2d-4e6a-9c7b-1d2e3f405162")
|
|
30
|
+
MISSING = uuid.UUID("11111111-2222-4333-8444-555555555555")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@pytest.fixture
|
|
34
|
+
def run(tmp_path):
|
|
35
|
+
context = GitCodeRepositorySourceContext(tmp_path, "https://example.test/repo", "test", "refs/heads/test", "a" * 40)
|
|
36
|
+
workspace = select_local_workspace(source=context, values={"METATABLES_LOCAL_STORAGE_DIR": str(tmp_path)})
|
|
37
|
+
workspace.tables_path.parent.mkdir(parents=True, exist_ok=True)
|
|
38
|
+
with sqlite3.connect(workspace.tables_path) as raw:
|
|
39
|
+
# How SQLAlchemy stores sa.Uuid and sa.Boolean on SQLite: 32-hex text and 0/1.
|
|
40
|
+
raw.execute("CREATE TABLE item (uid CHAR(32) PRIMARY KEY, active BOOLEAN NOT NULL, rank INTEGER NOT NULL)")
|
|
41
|
+
backend = backend_for(workspace.data_source)
|
|
42
|
+
tables = frozenset({("main", "item")})
|
|
43
|
+
identity = ExecutionIdentity(uuid.uuid4(), "fixture", None, tables, tables)
|
|
44
|
+
|
|
45
|
+
def run(statement, operation="select"):
|
|
46
|
+
compiled = compile_sqlalchemy_statement(
|
|
47
|
+
statement, operation=operation, data_source_uid=str(workspace.data_source.uid), dialect="sqlite"
|
|
48
|
+
)
|
|
49
|
+
wire = MetaTableCompiledSQLOperation.model_validate_json(compiled.model_dump_json()) # What the API receives.
|
|
50
|
+
return backend.sql.execute(
|
|
51
|
+
identity=identity, sql_text=wire.statement.sql, operation=wire.operation,
|
|
52
|
+
parameters=wire.statement.parameters, parameter_types=wire.statement.parameter_types,
|
|
53
|
+
)["rows"]
|
|
54
|
+
|
|
55
|
+
run(insert(item).values([dict(uid=FIRST, active=True, rank=1), dict(uid=SECOND, active=False, rank=2)]),
|
|
56
|
+
operation="insert")
|
|
57
|
+
return run
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def ranks(rows):
|
|
61
|
+
return sorted(row["rank"] for row in rows)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def test_uuid_in_finds_what_equality_finds(run):
|
|
65
|
+
assert ranks(run(select(item.c.rank).where(item.c.uid == FIRST))) == [1]
|
|
66
|
+
assert ranks(run(select(item.c.rank).where(item.c.uid.in_([FIRST])))) == [1]
|
|
67
|
+
assert ranks(run(select(item.c.rank).where(item.c.uid.in_([FIRST, SECOND, MISSING])))) == [1, 2]
|
|
68
|
+
assert ranks(run(select(item.c.rank).where(item.c.uid.not_in([FIRST])))) == [2]
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def test_boolean_in_binds_as_stored(run):
|
|
72
|
+
assert ranks(run(select(item.c.rank).where(item.c.active.in_([True])))) == [1]
|
|
73
|
+
assert ranks(run(select(item.c.rank).where(item.c.active.in_([True, False])))) == [1, 2]
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def test_tuple_in_binds_each_element_with_its_type(run):
|
|
77
|
+
statement = select(item.c.rank).where(tuple_(item.c.uid, item.c.active).in_([(FIRST, True), (SECOND, True)]))
|
|
78
|
+
assert ranks(run(statement)) == [1]
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def test_in_binds_in_writes_too(run):
|
|
82
|
+
run(item.update().where(item.c.uid.in_([SECOND])).values(rank=20), operation="update")
|
|
83
|
+
run(item.delete().where(item.c.uid.in_([FIRST])), operation="delete")
|
|
84
|
+
assert ranks(run(select(item.c.rank))) == [20]
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
@pytest.mark.parametrize("value", [str(FIRST), FIRST.hex, str(FIRST).upper(), FIRST])
|
|
88
|
+
def test_a_uuid_as_text_or_object_finds_the_row(run, value):
|
|
89
|
+
assert ranks(run(select(item.c.rank).where(item.c.uid == value))) == [1]
|
|
90
|
+
assert ranks(run(select(item.c.rank).where(item.c.uid.in_([value, str(SECOND)])))) == [1, 2]
|
|
91
|
+
assert ranks(run(select(item.c.rank).where(item.c.uid.in_([value, MISSING])))) == [1]
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def test_text_uuids_write_and_read_back_like_uuid_objects(run):
|
|
95
|
+
added = "6f1c2b3a-4d5e-4f60-8a7b-9c0d1e2f3a4b"
|
|
96
|
+
run(insert(item).values(uid=added, active=True, rank=3), operation="insert")
|
|
97
|
+
assert ranks(run(select(item.c.rank).where(item.c.uid == uuid.UUID(added)))) == [3]
|
|
98
|
+
run(item.update().where(item.c.uid.in_([added])).values(rank=30), operation="update")
|
|
99
|
+
assert ranks(run(select(item.c.rank).where(item.c.uid == added))) == [30]
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
@pytest.mark.parametrize("statement, name", [
|
|
103
|
+
(select(item.c.rank).where(item.c.uid == "not-a-uuid"), "uid_1"),
|
|
104
|
+
(select(item.c.rank).where(item.c.uid.in_([str(FIRST), "not-a-uuid"])), "uid_1_2"),
|
|
105
|
+
])
|
|
106
|
+
def test_text_that_is_not_a_uuid_fails_naming_its_parameter(run, statement, name):
|
|
107
|
+
with pytest.raises(ValueError, match=f"Parameter '{name}' binds a Uuid column, but 'not-a-uuid' is not a UUID"):
|
|
108
|
+
run(statement)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/api/metatables/main.py
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
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/adr/index.md
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/data-sources.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/openapi.json
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/overview.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/api/reference.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
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/client/tutorial.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
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/README.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
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/query.py
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/reader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/tables.py
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
|
{mainsequence_metatable-0.1.60.dev91 → mainsequence_metatable-0.1.61.dev92}/docs/examples/updater.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|