mainsequence-metatable 0.1.11.dev23__tar.gz → 0.1.12.dev24__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.11.dev23 → mainsequence_metatable-0.1.12.dev24}/.agents/skills/client/metatables-local-development/SKILL.md +5 -1
- {mainsequence_metatable-0.1.11.dev23/src/mainsequence_metatable.egg-info → mainsequence_metatable-0.1.12.dev24}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0001-unified-api-storage-and-local-sqlite.md +4 -2
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/operations/local-runtime.md +8 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/pyproject.toml +1 -1
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24/src/mainsequence_metatable.egg-info}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_registration.py +3 -1
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/sqlite_connection.py +8 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/sqlite_introspection.py +16 -7
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/connection.py +9 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/contracts/capabilities.json +1 -1
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/integrations/test_sqlite_operations.py +50 -1
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/uv.lock +1 -1
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/.agents/skills/client/metatables-meta-tables/SKILL.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/.agents/skills/client/metatables-migrations/SKILL.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/.agents/skills/client/metatables-time-index-table-updates/SKILL.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/.agents/skills/client/metatables-upgrade-legacy-app/SKILL.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/.mainsequence/workflows/metatables-api.yaml +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/LICENSE +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/MANIFEST.in +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/alembic.ini +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/compose.database-tests.yml +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0002-application-administration-and-table-ownership.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0004-approved-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0005-run-logs-and-local-file-capture.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0006-historical-run-graphs.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0007-database-enforced-table-access.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0007-database-roles-and-privileges.svg +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0007-query-enforcement-path.svg +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0008-mysql-mssql-table-workflows.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0009-shared-credential-store.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0010-import-external-tables-and-views.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0012-bounded-data-transfer-and-safe-retries.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0013-application-owned-migrations.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0014-main-sequence-release-jobs-and-production-migrations.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/api/0015-timescale-compression-and-retention-policies.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/client/0003-api-endpoint-resolution.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/client/0011-cli-local-development-with-managed-admin.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/index.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/api/authentication-and-errors.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/api/data-sources.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/api/openapi.json +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/api/overview.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/api/reference.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/api/tables-and-migrations.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/api/time-index-and-updates.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/assets/branding/metatables.svg +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/assets/diagrams/local-client-experience.svg +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/bounded-transfers.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/build-an-updater.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/define-and-migrate-tables.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/deploy-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/installation-and-connection.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/local-storage.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/query-and-mutate.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/quickstart.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/read-existing-time-index-tables.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/register-existing-tables.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/tutorial.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/client/upgrade-legacy-app.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/concepts/architecture.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/concepts/data-sources.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/concepts/identity-and-scope.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/concepts/permissions-namespaces-labels.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/concepts/runs-and-execution-graphs.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/concepts/table-contracts-and-lifecycle.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/concepts/time-index-tables-and-updates.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/contributing/architecture-and-boundaries.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/contributing/database-backends.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/contributing/documentation.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/contributing/releasing.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/contributing/testing.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/query.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/index.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/operations/catalog-migrations.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/operations/configuration.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/operations/hosted-runtime.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/operations/recovery-and-observability.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/operations/run-history.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/operations/run-logs.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/reference/capabilities.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/reference/cli.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/reference/python.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/security/index.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/security/ownership-and-sharing.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/security/permissions.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/mkdocs.yml +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/build_reference.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/check_boundaries.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/check_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/check_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/check_docs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/check_examples_debug.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/check_project.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/test_databases.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/test_postgresql.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/setup.cfg +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/mainsequence_metatable.egg-info/SOURCES.txt +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/mainsequence_metatable.egg-info/dependency_links.txt +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/mainsequence_metatable.egg-info/entry_points.txt +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/mainsequence_metatable.egg-info/requires.txt +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/mainsequence_metatable.egg-info/top_level.txt +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/_admin_source.json +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/_build.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/_skill_bundle.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/auth/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/auth/boundary.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/auth/caller_assertions.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/auth/local_actor.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/bootstrap.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/configuration.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/credential_admin.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/development.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/development_client.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/main.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/platform_cache.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/column_search.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/contract_validation.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/data_sources.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/managed_finalize.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/namespaces.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/run_logs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/security.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_cascade.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_crud.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_delete.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_filter.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_import.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_introspection.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_patch.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_response.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_search_document.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_sql.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/time_index_reads.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/update_batch.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/update_chunk_insert.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/update_constants.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/update_crud.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/update_details.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/update_graph.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/update_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/update_registration.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/update_runs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/routes/update_statistics.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/runtime.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/runtime_control.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/runtime_database.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/source_passwords.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/app/transfer.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/access.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/maintenance/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/maintenance/postgresql.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/maintenance/runtime.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/maintenance/temporal.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/maintenance/timescaledb.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/maintenance/validation.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/postgresql_cascade_delete.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/postgresql_introspection.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/postgresql_table_delete.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/postgresql_time_index.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/postgresql_time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/postgresql_time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/postgresql_time_index_write.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/source_validation.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/adapters/table_cursor.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/catalog.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/catalog_ddl.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/catalog_types.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/contracts.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/hosted.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/hosted_access.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/native.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/operations.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/pages.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/postgresql_access.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/registry.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/relation_tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/relational.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/restricted_sql.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/sqlite_access.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/streaming.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/backends/timescale.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/contracts/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/contracts/relation_import.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/contracts/storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/contracts/table_contracts.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/contracts/values.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/domain/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/domain/catalog_rules.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/domain/data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/domain/index_statistics.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/domain/label_rules.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/domain/permission_rules.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/domain/update_constants.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/catalog_data_sources.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/credential_keys.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/credential_store.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/data_source_provider.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/local_credentials.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/local_workspace.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/platform_principals.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/run_logs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/runtime_binding.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/runtime_data_sources.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/integrations/source_validation.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/versions/0001_initial.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/versions/0002_security_model.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/versions/0003_run_log_capture.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/versions/0004_historical_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/versions/0005_database_access.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/versions/0006_local_credentials.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/versions/0007_external_relation_names.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/versions/0008_upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/versions/0009_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/operations/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/operations/bootstrap_migrations.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/operations/catalog_schema.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/operations/create_table.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/operations/finalize_managed.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/operations/import_relations.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/operations/introspect_table.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/operations/read_time_index.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/operations/register_catalog.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/operations/search_documents.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/cascade.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/catalog.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/database.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/grants.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/labels.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/locking.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/models.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/physical_operations.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/projections.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/run_graphs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/sqlite_types.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/table_queries.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/table_response.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/update_graph.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/updates.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/persistence/upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/backend/presentation/data_source_summary.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/metatables/configuration.yaml +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/cli/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/cli/admin_install.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/cli/app.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/cli/filters.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/cli/local.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/cli/migrations.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/cli/project.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/cli/skills.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/compiled_sql/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/compiled_sql/mssql.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/compiled_sql/v1.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/dtype_codec.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/endpoint.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/query.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/future_registry.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/hashing.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/instrumentation.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/local_connection.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/local_files.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/log_contract.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/alembic.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/provider.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/runner.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/scaffold.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/templates/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/templates/env.py.mako +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/templates/script.py.mako +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/migrations/tls.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/models.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/pydantic_metadata.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/run_logging.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/runtime.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/runtime_contract.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/schema_names.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/sdk_compat.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/sqlalchemy_contracts.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/time_index_table_refs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/transfer.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/transfer_contract.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/transport.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/update_configuration_contract.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/updaters/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/updaters/configuration.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/updaters/dependencies.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/updaters/managers.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/updaters/namespacing.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/updaters/runner.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/updaters/updaters.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/updaters/utils.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/src/metatables/upload.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_caller_assertions.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_data_source_identity.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_development_client.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_hosted_environment_target.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_local_mode.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_platform_fact_cache.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_runtime_database.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_runtime_scaffold.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_runtime_selection.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_runtime_storage_binding.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/auth/test_source_passwords.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/catalog/test_catalog_foundation.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/catalog/test_contract_projection.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/catalog/test_database_config.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/catalog/test_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/catalog/test_migration.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/conftest.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/contracts/client_signatures.json +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/contracts/database_operations.json +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/contracts/test_bounded_transfer.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/contracts/test_compiler_runtime_source.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/contracts/test_relation_batching.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/contracts/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/contracts/test_storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/contracts/test_table_contracts.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/Dockerfile +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/Dockerfile.dockerignore +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/conftest.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/provider/__init__.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/provider/env.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/provider/versions/0001_measurement.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/test_api_contract.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/test_application_migration.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/test_bootstrap_recovery.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/test_catalog_contract.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/test_credential_catalog.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/test_physical_contract.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/test_sql_security.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_backend/test_update_client.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_operations/test_physical_operations.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_operations/test_postgresql_operations.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/database_operations/test_runtime_and_temporal.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/documentation/test_project_checks.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_admin_installation.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_api_endpoint.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_application_owned_migrations.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_catalog_outage.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_client_api_contract.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_client_migration_scaffold.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_client_migration_tls.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_client_package.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_client_signatures.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_client_value_behaviors.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_data_source_registry.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_local_actor_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_local_cli_workflow.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_local_client_selection.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_managed_finalize_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_namespaces_admin_http.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_public_imports.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_remaining_client_routes.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_run_logs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_runtime_transition.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_runtime_upgrade.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_sdk_local_startup.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_sqlite_runtime.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_table_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_table_filter_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_table_introspection_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_table_patch_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_table_search_document_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_table_stats_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_table_updates_http.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_time_index_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_time_index_reads_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_timescale_policies_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_update_batch_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_update_chunk_insert_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_update_dependency_priority_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_update_index_statistics_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/e2e/test_update_registration_client_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/examples/test_documented_examples.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/examples/test_postgresql_examples.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/examples/test_setup_launch.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/examples/test_tutorial.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/integrations/test_credential_store.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/integrations/test_data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/integrations/test_local_data_sources.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/integrations/test_local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/integrations/test_postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/integrations/test_postgresql_sql.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/integrations/test_postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/integrations/test_postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/integrations/test_source_validation.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/labels/test_labels.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/operations/test_create_table_operation.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/operations/test_create_table_postgres.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/operations/test_physical_operation_journal.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/operations/test_register_catalog.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/operations/test_search_documents.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/operations/test_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/packaging/test_client_skills.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/packaging/test_dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/packaging/test_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/packaging/test_editable_build.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/packaging/test_installed_distribution.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/permissions/test_governed_sql_scope.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/permissions/test_local_actor_membership.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/permissions/test_migration_boundary.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/permissions/test_namespace_grants.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/permissions/test_security_api.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/permissions/test_table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/permissions/test_table_grants.py +0 -0
- {mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/tests/permissions/test_table_queries.py +0 -0
|
@@ -145,7 +145,11 @@ existing database just to obtain a clean test run.
|
|
|
145
145
|
SQLite verifies portable application behavior, not PostgreSQL/MySQL/MSSQL-specific
|
|
146
146
|
SQL, Timescale features, database roles or every concurrency behavior. Report that
|
|
147
147
|
limit and use the intended engine in an isolated test database when the task
|
|
148
|
-
requires those checks.
|
|
148
|
+
requires those checks. Application models keep their hosted column types: a
|
|
149
|
+
PostgreSQL `JSONB` column runs as JSON, and `Numeric` runs as a SQLite number exact
|
|
150
|
+
to about 15 significant digits, the precision the client's float64 frames carry on
|
|
151
|
+
every engine. Unsigned 64-bit integers and arrays are rejected, naming the column.
|
|
152
|
+
Revision code that runs PostgreSQL-only SQL must check `op.get_bind().dialect.name`. Do not use the shared environment database as the default
|
|
149
153
|
integration-test fixture.
|
|
150
154
|
|
|
151
155
|
## Finish verification and switch back
|
|
@@ -732,8 +732,10 @@ Both SQLite catalog mutations and table writes use explicit `BEGIN IMMEDIATE`
|
|
|
732
732
|
transactions with foreign-key enforcement and a 30-second connection busy timeout.
|
|
733
733
|
Bounded physical operations select a 5-second lock timeout. The
|
|
734
734
|
catalog uses WAL. Application DDL uses the same Alembic reservation/finalization
|
|
735
|
-
workflow as PostgreSQL. SQLite rejects named schemas,
|
|
736
|
-
|
|
735
|
+
workflow as PostgreSQL. SQLite rejects named schemas, unsigned 64-bit integer,
|
|
736
|
+
array, and specialized index contracts, naming the column or index. PostgreSQL
|
|
737
|
+
JSONB is stored as JSON, and NUMERIC as SQLite numbers exact to about 15
|
|
738
|
+
significant digits, the precision the client's float64 frames already carry.
|
|
737
739
|
Timestamps require UTC offsets and preserve microseconds; finer precision is
|
|
738
740
|
rejected rather than truncated. UUID coordinate filters use the same contract
|
|
739
741
|
conversion for reads and deletes.
|
|
@@ -144,6 +144,14 @@ updates and governed SQL within its dialect. PostgreSQL-specific SQL, database r
|
|
|
144
144
|
Timescale hypertables and policies are unavailable. Select expressions and writes must
|
|
145
145
|
use the API-advertised dialect; SQL is not translated between engines.
|
|
146
146
|
|
|
147
|
+
Application models keep their hosted column types. A PostgreSQL `JSONB` column is
|
|
148
|
+
created and decoded as JSON. `Numeric` columns are SQLite numbers, exact to about 15
|
|
149
|
+
significant digits; reads return `Decimal`, and the client's frames carry them as
|
|
150
|
+
float64 on every engine. Unsigned 64-bit integers and arrays have no SQLite type:
|
|
151
|
+
registration rejects them with `unsupported_sqlite_type`, naming the table and
|
|
152
|
+
column. Revision code running PostgreSQL-only SQL, such as `ctid` or `jsonb_*`
|
|
153
|
+
functions, must branch on `op.get_bind().dialect.name`.
|
|
154
|
+
|
|
147
155
|
The SQLite adapter shares the request's transaction for catalog and physical work.
|
|
148
156
|
Physical savepoints preserve rollback semantics and avoid two writers competing for
|
|
149
157
|
the same file. Application migration connections are blocked; see the
|
|
@@ -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.12.dev24"
|
|
8
8
|
description = "Main Sequence MetaTables Python client and standalone API"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13"
|
|
@@ -161,7 +161,9 @@ def _registration(payload, *, indexed, actor, session, sources, creator, introsp
|
|
|
161
161
|
def _failure(session, exc):
|
|
162
162
|
session.rollback()
|
|
163
163
|
if isinstance(exc, DataSourceAdmissionError):
|
|
164
|
-
|
|
164
|
+
# Contract rejections name the offending column or index, as contract validation does.
|
|
165
|
+
detail = exc.code if exc.field == "data_source" else {"code": exc.code, "field": exc.field, "message": str(exc)}
|
|
166
|
+
raise HTTPException(exc.status_code, detail) from exc
|
|
165
167
|
if isinstance(exc, (DataSourceIntegrationError, PhysicalConnectionUnavailable, PhysicalTableOutcomeUnknown, SQLAlchemyError)):
|
|
166
168
|
raise HTTPException(503, 'Catalog or DataSource is unavailable.') from exc
|
|
167
169
|
raise HTTPException(409 if isinstance(exc, (PhysicalTableError, PhysicalIntrospectionError, TimescaleError)) else 422,
|
|
@@ -12,6 +12,7 @@ import time
|
|
|
12
12
|
from collections import namedtuple
|
|
13
13
|
from contextlib import contextmanager
|
|
14
14
|
from datetime import date, datetime, timezone
|
|
15
|
+
from decimal import Decimal
|
|
15
16
|
from uuid import UUID
|
|
16
17
|
|
|
17
18
|
from psycopg2 import sql
|
|
@@ -63,6 +64,11 @@ def bind_value(value):
|
|
|
63
64
|
return json.dumps(value.adapted, separators=(",", ":"), allow_nan=False)
|
|
64
65
|
if isinstance(value, (dict, list)):
|
|
65
66
|
return json.dumps(value, separators=(",", ":"), allow_nan=False)
|
|
67
|
+
if isinstance(value, Decimal):
|
|
68
|
+
# SQLite stores NUMERIC as INTEGER or REAL; keep integral values exact.
|
|
69
|
+
if value == value.to_integral_value() and -(2**63) <= value < 2**63:
|
|
70
|
+
return int(value)
|
|
71
|
+
return float(value)
|
|
66
72
|
return value
|
|
67
73
|
|
|
68
74
|
|
|
@@ -178,6 +184,8 @@ def register_converters():
|
|
|
178
184
|
sqlite3.register_converter("BOOLEAN", lambda v: v == b"1")
|
|
179
185
|
sqlite3.register_converter("JSON", lambda v: json.loads(v.decode()))
|
|
180
186
|
sqlite3.register_converter("DATE", lambda v: date.fromisoformat(v.decode()))
|
|
187
|
+
sqlite3.register_converter("NUMERIC", lambda v: Decimal(v.decode()))
|
|
188
|
+
sqlite3.register_converter("DECIMAL", lambda v: Decimal(v.decode()))
|
|
181
189
|
|
|
182
190
|
|
|
183
191
|
@contextmanager
|
|
@@ -41,7 +41,9 @@ def introspect_sqlite_table(*, source, physical_schema, physical_table_name):
|
|
|
41
41
|
"INTEGER": "int64",
|
|
42
42
|
"JSON": "json",
|
|
43
43
|
"DATE": "date",
|
|
44
|
-
|
|
44
|
+
"NUMERIC": "numeric",
|
|
45
|
+
"DECIMAL": "numeric",
|
|
46
|
+
}.get(backend.split("(", 1)[0].strip(), "string")
|
|
45
47
|
columns.append(
|
|
46
48
|
{
|
|
47
49
|
"name": item["name"],
|
|
@@ -118,20 +120,27 @@ def validate_sqlite_contract(contract):
|
|
|
118
120
|
"""Reject unsupported DDL before reserving catalog state or opening a store."""
|
|
119
121
|
from metatables.api.backend.domain.data_source_rules import DataSourceAdmissionError
|
|
120
122
|
|
|
121
|
-
|
|
123
|
+
physical = contract.get("physical") or {}
|
|
124
|
+
normalize_schema(physical.get("schema"))
|
|
125
|
+
table = physical.get("table_name") or "the table"
|
|
126
|
+
# JSONB is stored as JSON and NUMERIC as SQLite numbers (about 15 significant
|
|
127
|
+
# digits, the precision the client's float64 frames already carry).
|
|
122
128
|
for column in contract.get("columns", []):
|
|
123
129
|
kind = str(column.get("data_type", "")).lower()
|
|
124
130
|
backend = str(column.get("backend_type") or "").lower()
|
|
125
|
-
if kind
|
|
126
|
-
t in backend for t in ("numeric", "decimal", "[]", "jsonb")
|
|
127
|
-
):
|
|
131
|
+
if kind == "uint64" or "[]" in backend:
|
|
128
132
|
raise DataSourceAdmissionError(
|
|
129
133
|
"unsupported_sqlite_type",
|
|
130
|
-
"
|
|
134
|
+
f"Column {column.get('name')!r} of {table} is {column.get('backend_type') or kind}; "
|
|
135
|
+
"SQLite has no unsigned 64-bit integer or array type.",
|
|
131
136
|
status_code=409,
|
|
137
|
+
field=f"table_contract.columns.{column.get('name')}",
|
|
132
138
|
)
|
|
133
139
|
for index in contract.get("indexes", []):
|
|
134
140
|
if index.get("method") not in (None, "", "btree") or index.get("expression"):
|
|
135
141
|
raise DataSourceAdmissionError(
|
|
136
|
-
"unsupported_sqlite_index",
|
|
142
|
+
"unsupported_sqlite_index",
|
|
143
|
+
f"Index {index.get('name')!r} of {table} is not a column index; SQLite supports column indexes only.",
|
|
144
|
+
status_code=409,
|
|
145
|
+
field=f"table_contract.indexes.{index.get('name')}",
|
|
137
146
|
)
|
|
@@ -3,12 +3,21 @@
|
|
|
3
3
|
from contextlib import contextmanager
|
|
4
4
|
|
|
5
5
|
from sqlalchemy import create_engine, event
|
|
6
|
+
from sqlalchemy.dialects.postgresql import JSONB
|
|
6
7
|
from sqlalchemy.engine import make_url
|
|
8
|
+
from sqlalchemy.ext.compiler import compiles
|
|
7
9
|
from sqlalchemy.pool import NullPool
|
|
8
10
|
|
|
9
11
|
from .tls import migration_tls_arguments
|
|
10
12
|
|
|
11
13
|
|
|
14
|
+
@compiles(JSONB, "sqlite")
|
|
15
|
+
def _sqlite_jsonb(_type, _compiler, **_kw):
|
|
16
|
+
# Applications declare PostgreSQL JSONB; the local runtime stores and
|
|
17
|
+
# decodes it as JSON, so models and reflected columns compare equal.
|
|
18
|
+
return "JSON"
|
|
19
|
+
|
|
20
|
+
|
|
12
21
|
def version_schema(config, dialect):
|
|
13
22
|
schema = config.attributes["mainsequence_migration_provider"].version_table_schema
|
|
14
23
|
if dialect in {"sqlite", "mysql"} and schema in (None, "public"):
|
|
@@ -2854,7 +2854,7 @@
|
|
|
2854
2854
|
"hidden": false,
|
|
2855
2855
|
"note": "Offline client skill copying delegated to the SDK scaffold helper; bundles matching guide/example resources, supports dry-run and global JSON output, and records the installed version.",
|
|
2856
2856
|
"tests": [
|
|
2857
|
-
"tests/packaging/test_client_skills.py::
|
|
2857
|
+
"tests/packaging/test_client_skills.py::test_copy_and_refresh_replace_only_the_metatables_namespace_with_portable_references",
|
|
2858
2858
|
"tests/packaging/test_client_skills.py::test_dry_run_reports_version_and_destinations_without_creating_project",
|
|
2859
2859
|
"tests/packaging/test_installed_distribution.py::test_client_skills_copy_from_installed_bundle_outside_checkout"
|
|
2860
2860
|
]
|
|
@@ -103,12 +103,61 @@ def test_serialized_writers_and_failed_replacement_preserve_existing_rows(sqlite
|
|
|
103
103
|
def test_sqlite_rejects_unrepresentable_contracts_before_effects():
|
|
104
104
|
for contract in (
|
|
105
105
|
{"physical": {"schema": "analytics"}},
|
|
106
|
-
{"columns": [{"name": "
|
|
106
|
+
{"columns": [{"name": "unsigned", "data_type": "uint64"}]},
|
|
107
107
|
{"columns": [{"name": "array", "backend_type": "INTEGER[]"}]},
|
|
108
108
|
{"indexes": [{"name": "special", "method": "gin"}]},
|
|
109
109
|
):
|
|
110
110
|
with pytest.raises(DataSourceAdmissionError):
|
|
111
111
|
validate_sqlite_contract(contract)
|
|
112
|
+
with pytest.raises(DataSourceAdmissionError) as rejected:
|
|
113
|
+
validate_sqlite_contract({"physical": {"table_name": "positions"},
|
|
114
|
+
"columns": [{"name": "lots", "backend_type": "INTEGER[]"}]})
|
|
115
|
+
assert rejected.value.field == "table_contract.columns.lots"
|
|
116
|
+
assert "'lots'" in str(rejected.value) and "positions" in str(rejected.value)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def test_sqlite_runs_postgresql_jsonb_as_json_and_numeric_as_numbers(sqlite_source):
|
|
120
|
+
source, engine = sqlite_source
|
|
121
|
+
from decimal import Decimal
|
|
122
|
+
|
|
123
|
+
from alembic.autogenerate import compare_metadata
|
|
124
|
+
from alembic.migration import MigrationContext
|
|
125
|
+
from sqlalchemy import Column, Integer, MetaData, Numeric, Table
|
|
126
|
+
from sqlalchemy.dialects.postgresql import JSONB
|
|
127
|
+
|
|
128
|
+
import metatables.migrations.connection # noqa: F401 Registers the SQLite JSONB rule.
|
|
129
|
+
from metatables.api.backend.backends.adapters.sqlite_introspection import (
|
|
130
|
+
introspect_sqlite_table,
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
columns = [{"name": "payload", "data_type": "jsonb", "backend_type": "JSONB"},
|
|
134
|
+
{"name": "amount", "data_type": "numeric", "backend_type": "NUMERIC(38, 18)"}]
|
|
135
|
+
validate_sqlite_contract({"columns": columns})
|
|
136
|
+
metadata = MetaData()
|
|
137
|
+
Table("typed_numbers", metadata, Column("id", Integer, primary_key=True),
|
|
138
|
+
Column("payload", JSONB()), Column("amount", Numeric(38, 18)))
|
|
139
|
+
with engine.begin() as connection:
|
|
140
|
+
metadata.create_all(connection)
|
|
141
|
+
context = MigrationContext.configure(connection, opts={
|
|
142
|
+
"compare_type": True,
|
|
143
|
+
"include_name": lambda name, kind, _parents: kind != "table" or name == "typed_numbers",
|
|
144
|
+
})
|
|
145
|
+
assert compare_metadata(context, metadata) == []
|
|
146
|
+
snapshot = introspect_sqlite_table(source=source, physical_schema="public",
|
|
147
|
+
physical_table_name="typed_numbers")
|
|
148
|
+
assert {c["name"]: (c["data_type"], c["backend_type"]) for c in snapshot["columns"]} == {
|
|
149
|
+
"id": ("int64", "INTEGER"), "payload": ("json", "JSON"), "amount": ("numeric", "NUMERIC(38, 18)")}
|
|
150
|
+
inserted = execute_fixture_sql(
|
|
151
|
+
source=source,
|
|
152
|
+
operation="insert",
|
|
153
|
+
sql_text="INSERT INTO typed_numbers (id, payload, amount) VALUES (1, :payload, :amount), (2, NULL, :whole) RETURNING *",
|
|
154
|
+
parameters={"payload": {"nodes": [0.5, 1]}, "amount": Decimal("1234.000125"), "whole": Decimal("100")},
|
|
155
|
+
)["rows"]
|
|
156
|
+
assert inserted[0]["payload"] == {"nodes": [0.5, 1]}
|
|
157
|
+
assert Decimal(str(inserted[0]["amount"])) == Decimal("1234.000125")
|
|
158
|
+
selected = execute_fixture_sql(source=source, sql_text="SELECT id FROM typed_numbers WHERE amount > :limit ORDER BY amount",
|
|
159
|
+
parameters={"limit": Decimal("99.5")})["rows"]
|
|
160
|
+
assert [row["id"] for row in selected] == [2, 1]
|
|
112
161
|
|
|
113
162
|
|
|
114
163
|
def test_sub_microsecond_timestamps_fail_before_serialization():
|
|
File without changes
|
|
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.11.dev23 → mainsequence_metatable-0.1.12.dev24}/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
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/adr/index.md
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/api/data-sources.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/api/openapi.json
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/api/overview.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/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
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/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.11.dev23 → mainsequence_metatable-0.1.12.dev24}/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.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/query.py
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/reader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/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.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/examples/updater.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
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/reference/cli.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/reference/python.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/docs/security/index.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.11.dev23 → mainsequence_metatable-0.1.12.dev24}/scripts/check_docs.py
RENAMED
|
File without changes
|
|
File without changes
|