mainsequence-metatable 0.1.12.dev24__tar.gz → 0.1.13__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.12.dev24 → mainsequence_metatable-0.1.13}/.agents/skills/client/metatables-local-development/SKILL.md +2 -1
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/.agents/skills/client/metatables-migrations/SKILL.md +6 -0
- {mainsequence_metatable-0.1.12.dev24/src/mainsequence_metatable.egg-info → mainsequence_metatable-0.1.13}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0001-unified-api-storage-and-local-sqlite.md +2 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/operations/local-runtime.md +11 -2
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/pyproject.toml +1 -1
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13/src/mainsequence_metatable.egg-info}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/mainsequence_metatable.egg-info/SOURCES.txt +1 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/connection.py +4 -10
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/env.py +13 -4
- mainsequence_metatable-0.1.13/src/metatables/migrations/sqlite.py +82 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/integrations/test_sqlite_operations.py +47 -1
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/uv.lock +1 -1
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/.agents/skills/client/metatables-meta-tables/SKILL.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/.agents/skills/client/metatables-time-index-table-updates/SKILL.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/.agents/skills/client/metatables-upgrade-legacy-app/SKILL.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/.mainsequence/workflows/metatables-api.yaml +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/LICENSE +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/MANIFEST.in +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/alembic.ini +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/compose.database-tests.yml +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0002-application-administration-and-table-ownership.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0004-approved-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0005-run-logs-and-local-file-capture.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0006-historical-run-graphs.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0007-database-enforced-table-access.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0007-database-roles-and-privileges.svg +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0007-query-enforcement-path.svg +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0008-mysql-mssql-table-workflows.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0009-shared-credential-store.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0010-import-external-tables-and-views.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0012-bounded-data-transfer-and-safe-retries.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0013-application-owned-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0014-main-sequence-release-jobs-and-production-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/api/0015-timescale-compression-and-retention-policies.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/client/0003-api-endpoint-resolution.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/client/0011-cli-local-development-with-managed-admin.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/adr/index.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/api/authentication-and-errors.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/api/data-sources.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/api/openapi.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/api/overview.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/api/reference.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/api/tables-and-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/api/time-index-and-updates.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/assets/branding/metatables.svg +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/assets/diagrams/local-client-experience.svg +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/bounded-transfers.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/build-an-updater.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/define-and-migrate-tables.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/deploy-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/installation-and-connection.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/local-storage.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/query-and-mutate.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/quickstart.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/read-existing-time-index-tables.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/register-existing-tables.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/tutorial.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/upgrade-legacy-app.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/concepts/architecture.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/concepts/data-sources.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/concepts/identity-and-scope.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/concepts/permissions-namespaces-labels.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/concepts/runs-and-execution-graphs.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/concepts/table-contracts-and-lifecycle.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/concepts/time-index-tables-and-updates.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/contributing/architecture-and-boundaries.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/contributing/database-backends.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/contributing/documentation.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/contributing/releasing.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/contributing/testing.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/query.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/index.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/operations/catalog-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/operations/configuration.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/operations/hosted-runtime.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/operations/recovery-and-observability.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/operations/run-history.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/operations/run-logs.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/reference/capabilities.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/reference/cli.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/reference/python.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/security/index.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/security/ownership-and-sharing.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/security/permissions.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/mkdocs.yml +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/build_reference.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/check_boundaries.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/check_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/check_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/check_docs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/check_examples_debug.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/check_project.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/test_databases.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/scripts/test_postgresql.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/setup.cfg +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/mainsequence_metatable.egg-info/dependency_links.txt +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/mainsequence_metatable.egg-info/entry_points.txt +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/mainsequence_metatable.egg-info/requires.txt +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/mainsequence_metatable.egg-info/top_level.txt +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/_admin_source.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/_build.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/_skill_bundle.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/auth/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/auth/boundary.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/auth/caller_assertions.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/auth/local_actor.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/bootstrap.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/configuration.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/credential_admin.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/development.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/development_client.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/main.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/platform_cache.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/column_search.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/contract_validation.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/data_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/managed_finalize.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/namespaces.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/run_logs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/security.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_cascade.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_crud.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_delete.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_filter.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_import.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_introspection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_patch.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_registration.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_response.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_search_document.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_sql.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/time_index_reads.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/update_batch.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/update_chunk_insert.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/update_constants.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/update_crud.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/update_details.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/update_graph.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/update_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/update_registration.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/update_runs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/routes/update_statistics.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/runtime.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/runtime_control.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/runtime_database.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/source_passwords.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/app/transfer.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/access.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/maintenance/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/maintenance/postgresql.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/maintenance/runtime.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/maintenance/temporal.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/maintenance/timescaledb.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/maintenance/validation.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/postgresql_cascade_delete.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/postgresql_introspection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/postgresql_table_delete.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/postgresql_time_index.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/postgresql_time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/postgresql_time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/postgresql_time_index_write.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/source_validation.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/sqlite_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/sqlite_introspection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/adapters/table_cursor.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/catalog.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/catalog_ddl.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/catalog_types.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/contracts.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/hosted.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/hosted_access.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/native.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/pages.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/postgresql_access.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/relation_tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/relational.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/restricted_sql.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/sqlite_access.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/streaming.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/backends/timescale.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/contracts/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/contracts/relation_import.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/contracts/storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/contracts/table_contracts.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/contracts/values.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/domain/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/domain/catalog_rules.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/domain/data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/domain/index_statistics.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/domain/label_rules.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/domain/permission_rules.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/domain/update_constants.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/catalog_data_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/credential_keys.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/credential_store.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/data_source_provider.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/local_credentials.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/local_workspace.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/platform_principals.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/run_logs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/runtime_binding.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/runtime_data_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/integrations/source_validation.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/versions/0001_initial.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/versions/0002_security_model.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/versions/0003_run_log_capture.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/versions/0004_historical_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/versions/0005_database_access.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/versions/0006_local_credentials.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/versions/0007_external_relation_names.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/versions/0008_upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/versions/0009_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/operations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/operations/bootstrap_migrations.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/operations/catalog_schema.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/operations/create_table.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/operations/finalize_managed.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/operations/import_relations.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/operations/introspect_table.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/operations/read_time_index.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/operations/register_catalog.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/operations/search_documents.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/cascade.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/catalog.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/database.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/grants.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/labels.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/locking.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/models.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/physical_operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/projections.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/run_graphs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/sqlite_types.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/table_queries.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/table_response.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/update_graph.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/updates.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/persistence/upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/backend/presentation/data_source_summary.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/metatables/configuration.yaml +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/cli/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/cli/admin_install.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/cli/app.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/cli/filters.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/cli/local.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/cli/migrations.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/cli/project.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/cli/skills.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/compiled_sql/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/compiled_sql/mssql.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/compiled_sql/v1.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/dtype_codec.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/endpoint.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/query.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/future_registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/hashing.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/instrumentation.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/local_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/local_files.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/log_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/alembic.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/provider.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/runner.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/scaffold.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/templates/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/templates/env.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/templates/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/migrations/tls.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/models.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/pydantic_metadata.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/run_logging.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/runtime.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/runtime_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/schema_names.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/sdk_compat.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/sqlalchemy_contracts.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/time_index_table_refs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/transfer.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/transfer_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/transport.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/update_configuration_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/updaters/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/updaters/configuration.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/updaters/dependencies.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/updaters/managers.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/updaters/namespacing.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/updaters/runner.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/updaters/updaters.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/updaters/utils.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/src/metatables/upload.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_caller_assertions.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_data_source_identity.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_development_client.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_hosted_environment_target.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_local_mode.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_platform_fact_cache.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_runtime_database.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_runtime_scaffold.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_runtime_selection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_runtime_storage_binding.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/auth/test_source_passwords.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/catalog/test_catalog_foundation.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/catalog/test_contract_projection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/catalog/test_database_config.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/catalog/test_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/catalog/test_migration.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/conftest.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/contracts/capabilities.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/contracts/client_signatures.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/contracts/database_operations.json +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/contracts/test_bounded_transfer.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/contracts/test_compiler_runtime_source.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/contracts/test_relation_batching.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/contracts/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/contracts/test_storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/contracts/test_table_contracts.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/Dockerfile +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/Dockerfile.dockerignore +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/conftest.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/provider/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/provider/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/provider/versions/0001_measurement.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/test_api_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/test_application_migration.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/test_bootstrap_recovery.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/test_catalog_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/test_credential_catalog.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/test_physical_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/test_sql_security.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_backend/test_update_client.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_operations/test_physical_operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_operations/test_postgresql_operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/database_operations/test_runtime_and_temporal.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/documentation/test_project_checks.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_admin_installation.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_api_endpoint.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_application_owned_migrations.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_catalog_outage.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_client_api_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_client_migration_scaffold.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_client_migration_tls.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_client_package.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_client_signatures.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_client_value_behaviors.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_data_source_registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_local_actor_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_local_cli_workflow.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_local_client_selection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_managed_finalize_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_namespaces_admin_http.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_public_imports.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_remaining_client_routes.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_run_logs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_runtime_transition.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_runtime_upgrade.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_sdk_local_startup.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_sqlite_runtime.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_table_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_table_filter_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_table_introspection_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_table_patch_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_table_search_document_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_table_stats_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_table_updates_http.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_time_index_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_time_index_reads_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_timescale_policies_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_update_batch_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_update_chunk_insert_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_update_dependency_priority_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_update_index_statistics_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/e2e/test_update_registration_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/examples/test_documented_examples.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/examples/test_postgresql_examples.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/examples/test_setup_launch.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/examples/test_tutorial.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/integrations/test_credential_store.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/integrations/test_data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/integrations/test_local_data_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/integrations/test_local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/integrations/test_postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/integrations/test_postgresql_sql.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/integrations/test_postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/integrations/test_postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/integrations/test_source_validation.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/labels/test_labels.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/operations/test_create_table_operation.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/operations/test_create_table_postgres.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/operations/test_physical_operation_journal.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/operations/test_register_catalog.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/operations/test_search_documents.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/operations/test_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/packaging/test_client_skills.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/packaging/test_dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/packaging/test_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/packaging/test_editable_build.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/packaging/test_installed_distribution.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/permissions/test_governed_sql_scope.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/permissions/test_local_actor_membership.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/permissions/test_migration_boundary.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/permissions/test_namespace_grants.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/permissions/test_security_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/permissions/test_table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/permissions/test_table_grants.py +0 -0
- {mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/tests/permissions/test_table_queries.py +0 -0
|
@@ -149,7 +149,8 @@ requires those checks. Application models keep their hosted column types: a
|
|
|
149
149
|
PostgreSQL `JSONB` column runs as JSON, and `Numeric` runs as a SQLite number exact
|
|
150
150
|
to about 15 significant digits, the precision the client's float64 frames carry on
|
|
151
151
|
every engine. Unsigned 64-bit integers and arrays are rejected, naming the column.
|
|
152
|
-
|
|
152
|
+
Revisions need no SQLite variants: column and constraint changes run through Alembic
|
|
153
|
+
batch mode. Only raw PostgreSQL SQL must check `op.get_bind().dialect.name`. Do not use the shared environment database as the default
|
|
153
154
|
integration-test fixture.
|
|
154
155
|
|
|
155
156
|
## Finish verification and switch back
|
|
@@ -154,6 +154,12 @@ The global `--local` selects the running project's API connection; inspect runti
|
|
|
154
154
|
status because Admin can switch that API to Hosted. Upgrade/downgrade accept
|
|
155
155
|
Alembic targets. Use `--no-autogenerate` for offline revision authoring.
|
|
156
156
|
|
|
157
|
+
Write each revision once, for the hosted engine. On local SQLite, MetaTables runs
|
|
158
|
+
column and constraint changes through Alembic batch mode, generated revisions use
|
|
159
|
+
batch blocks, `JSONB` runs as JSON, and `postgresql_where` predicates also apply to
|
|
160
|
+
SQLite. Raw PostgreSQL SQL, such as `ctid`, `::` casts or `jsonb_*` functions, must
|
|
161
|
+
branch on `op.get_bind().dialect.name`.
|
|
162
|
+
|
|
157
163
|
The client imports and executes application revisions, using the connection
|
|
158
164
|
resolved for the selected environment. Environment operators supply the database
|
|
159
165
|
login's DDL privileges. MetaTables does not mint migration roles or sandbox DDL.
|
|
@@ -736,6 +736,8 @@ workflow as PostgreSQL. SQLite rejects named schemas, unsigned 64-bit integer,
|
|
|
736
736
|
array, and specialized index contracts, naming the column or index. PostgreSQL
|
|
737
737
|
JSONB is stored as JSON, and NUMERIC as SQLite numbers exact to about 15
|
|
738
738
|
significant digits, the precision the client's float64 frames already carry.
|
|
739
|
+
Revisions written for PostgreSQL run unchanged: column and constraint changes use
|
|
740
|
+
Alembic batch mode, with foreign keys checked before commit.
|
|
739
741
|
Timestamps require UTC offsets and preserve microseconds; finer precision is
|
|
740
742
|
rejected rather than truncated. UUID coordinate filters use the same contract
|
|
741
743
|
conversion for reads and deletes.
|
|
@@ -149,8 +149,17 @@ created and decoded as JSON. `Numeric` columns are SQLite numbers, exact to abou
|
|
|
149
149
|
significant digits; reads return `Decimal`, and the client's frames carry them as
|
|
150
150
|
float64 on every engine. Unsigned 64-bit integers and arrays have no SQLite type:
|
|
151
151
|
registration rejects them with `unsupported_sqlite_type`, naming the table and
|
|
152
|
-
column.
|
|
153
|
-
|
|
152
|
+
column.
|
|
153
|
+
|
|
154
|
+
Application revisions written for PostgreSQL run unchanged. SQLite cannot alter
|
|
155
|
+
columns or constraints in place, so the migration environment runs `alter_column`,
|
|
156
|
+
`add_column`, `drop_column` and constraint operations through Alembic batch mode,
|
|
157
|
+
which copies the table and swaps it in. Foreign keys are not enforced while the
|
|
158
|
+
revisions run; `PRAGMA foreign_key_check` runs before commit and rolls back every
|
|
159
|
+
revision if a key dangles. A `postgresql_where` predicate also becomes the SQLite
|
|
160
|
+
partial-index predicate. Generated revisions use batch blocks, which PostgreSQL
|
|
161
|
+
applies as plain `ALTER` statements. Raw PostgreSQL SQL, such as `ctid`, `::` casts
|
|
162
|
+
or `jsonb_*` functions, must branch on `op.get_bind().dialect.name`.
|
|
154
163
|
|
|
155
164
|
The SQLite adapter shares the request's transaction for catalog and physical work.
|
|
156
165
|
Physical savepoints preserve rollback semantics and avoid two writers competing for
|
|
@@ -392,6 +392,7 @@ src/metatables/migrations/provider.py
|
|
|
392
392
|
src/metatables/migrations/registry.py
|
|
393
393
|
src/metatables/migrations/runner.py
|
|
394
394
|
src/metatables/migrations/scaffold.py
|
|
395
|
+
src/metatables/migrations/sqlite.py
|
|
395
396
|
src/metatables/migrations/tls.py
|
|
396
397
|
src/metatables/migrations/templates/__init__.py
|
|
397
398
|
src/metatables/migrations/templates/env.py.mako
|
|
@@ -3,21 +3,13 @@
|
|
|
3
3
|
from contextlib import contextmanager
|
|
4
4
|
|
|
5
5
|
from sqlalchemy import create_engine, event
|
|
6
|
-
from sqlalchemy.dialects.postgresql import JSONB
|
|
7
6
|
from sqlalchemy.engine import make_url
|
|
8
|
-
from sqlalchemy.ext.compiler import compiles
|
|
9
7
|
from sqlalchemy.pool import NullPool
|
|
10
8
|
|
|
9
|
+
from . import sqlite as _sqlite # noqa: F401 Registers SQLite DDL and batch rules.
|
|
11
10
|
from .tls import migration_tls_arguments
|
|
12
11
|
|
|
13
12
|
|
|
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
|
-
|
|
21
13
|
def version_schema(config, dialect):
|
|
22
14
|
schema = config.attributes["mainsequence_migration_provider"].version_table_schema
|
|
23
15
|
if dialect in {"sqlite", "mysql"} and schema in (None, "public"):
|
|
@@ -51,7 +43,9 @@ def migration_engine(config):
|
|
|
51
43
|
@event.listens_for(engine, "connect")
|
|
52
44
|
def sqlite_connect(connection, _record):
|
|
53
45
|
connection.isolation_level = None
|
|
54
|
-
|
|
46
|
+
# Batch rebuilds drop and recreate referenced tables; the
|
|
47
|
+
# environment runs PRAGMA foreign_key_check before commit.
|
|
48
|
+
connection.execute("PRAGMA foreign_keys = OFF")
|
|
55
49
|
connection.execute("PRAGMA busy_timeout = 30000")
|
|
56
50
|
|
|
57
51
|
@event.listens_for(engine, "begin")
|
|
@@ -15,6 +15,7 @@ def run_mainsequence_alembic_env(
|
|
|
15
15
|
|
|
16
16
|
from metatables.migrations import apply_mainsequence_migration_role
|
|
17
17
|
from metatables.migrations.connection import migration_engine
|
|
18
|
+
from metatables.migrations.sqlite import AUTO_BATCH_OPTION, check_foreign_keys
|
|
18
19
|
|
|
19
20
|
def migration_provider() -> Any:
|
|
20
21
|
provider = context.config.attributes.get("mainsequence_migration_provider")
|
|
@@ -78,8 +79,18 @@ def run_mainsequence_alembic_env(
|
|
|
78
79
|
"include_object": include_object,
|
|
79
80
|
"compare_type": True,
|
|
80
81
|
"compare_server_default": True,
|
|
82
|
+
# Generated revisions alter tables in batch blocks: plain ALTERs on
|
|
83
|
+
# PostgreSQL, copy-and-swap on the local SQLite runtime.
|
|
84
|
+
"render_as_batch": True,
|
|
85
|
+
AUTO_BATCH_OPTION: connection is not None and connection.dialect.name == "sqlite",
|
|
81
86
|
}
|
|
82
87
|
|
|
88
|
+
def run(connection) -> None:
|
|
89
|
+
with context.begin_transaction():
|
|
90
|
+
context.run_migrations()
|
|
91
|
+
if connection.dialect.name == "sqlite":
|
|
92
|
+
check_foreign_keys(connection)
|
|
93
|
+
|
|
83
94
|
def run_migrations_offline() -> None:
|
|
84
95
|
context.configure(
|
|
85
96
|
url=context.config.get_main_option("sqlalchemy.url"),
|
|
@@ -95,16 +106,14 @@ def run_mainsequence_alembic_env(
|
|
|
95
106
|
if connection is not None:
|
|
96
107
|
apply_mainsequence_migration_role(connection, config)
|
|
97
108
|
context.configure(connection=connection, **configure_kwargs(connection))
|
|
98
|
-
|
|
99
|
-
context.run_migrations()
|
|
109
|
+
run(connection)
|
|
100
110
|
return
|
|
101
111
|
|
|
102
112
|
config.attributes.setdefault("mainsequence_migration_provider", migration_provider())
|
|
103
113
|
with migration_engine(config) as engine, engine.connect() as connection:
|
|
104
114
|
apply_mainsequence_migration_role(connection, config)
|
|
105
115
|
context.configure(connection=connection, **configure_kwargs(connection))
|
|
106
|
-
|
|
107
|
-
context.run_migrations()
|
|
116
|
+
run(connection)
|
|
108
117
|
|
|
109
118
|
if context.is_offline_mode():
|
|
110
119
|
run_migrations_offline()
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"""Run application revisions written for PostgreSQL on the local SQLite runtime.
|
|
2
|
+
|
|
3
|
+
SQLite cannot alter columns or constraints in place. Inside the MetaTables
|
|
4
|
+
Alembic environment, those operations run through Alembic batch mode (copy the
|
|
5
|
+
table, then swap it in), so revisions need no SQLite-specific code. PostgreSQL
|
|
6
|
+
and other dialects keep Alembic's own implementations.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from alembic.operations import BatchOperations, Operations, ops
|
|
12
|
+
from sqlalchemy.dialects.postgresql import JSONB
|
|
13
|
+
from sqlalchemy.ext.compiler import compiles
|
|
14
|
+
|
|
15
|
+
AUTO_BATCH_OPTION = "metatables_sqlite_auto_batch"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@compiles(JSONB, "sqlite")
|
|
19
|
+
def _sqlite_jsonb(_type, _compiler, **_kw):
|
|
20
|
+
# Applications declare PostgreSQL JSONB; the local runtime stores and
|
|
21
|
+
# decodes it as JSON, so models and reflected columns compare equal.
|
|
22
|
+
return "JSON"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _table(operation):
|
|
26
|
+
if isinstance(operation, ops.CreateForeignKeyOp):
|
|
27
|
+
return operation.source_table, operation.kw.get("source_schema")
|
|
28
|
+
return operation.table_name, operation.schema
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def _batched(default):
|
|
32
|
+
def run(operations, operation):
|
|
33
|
+
if (
|
|
34
|
+
isinstance(operations, BatchOperations)
|
|
35
|
+
or not operations.migration_context.opts.get(AUTO_BATCH_OPTION)
|
|
36
|
+
):
|
|
37
|
+
return default(operations, operation)
|
|
38
|
+
connection = operations.migration_context.connection
|
|
39
|
+
if connection.exec_driver_sql("PRAGMA foreign_keys").scalar():
|
|
40
|
+
# Rebuilding a parent table with enforcement on deletes or rejects
|
|
41
|
+
# its children; the environment checks every key after migrating.
|
|
42
|
+
raise RuntimeError("SQLite batch migrations require foreign_keys=OFF.")
|
|
43
|
+
name, schema = _table(operation)
|
|
44
|
+
with operations.batch_alter_table(name, schema=None if schema == "public" else schema) as batch:
|
|
45
|
+
batch.invoke(operation)
|
|
46
|
+
|
|
47
|
+
return run
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def _partial_index(default):
|
|
51
|
+
def run(operations, operation):
|
|
52
|
+
# Portable predicates such as "status = 'active'" keep the index partial.
|
|
53
|
+
if operations.migration_context.opts.get(AUTO_BATCH_OPTION):
|
|
54
|
+
kw = operation.kw
|
|
55
|
+
if "postgresql_where" in kw and "sqlite_where" not in kw:
|
|
56
|
+
kw["sqlite_where"] = kw["postgresql_where"]
|
|
57
|
+
return default(operations, operation)
|
|
58
|
+
|
|
59
|
+
return run
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
for _operation in (
|
|
63
|
+
ops.AlterColumnOp,
|
|
64
|
+
ops.AddColumnOp,
|
|
65
|
+
ops.DropColumnOp,
|
|
66
|
+
ops.AddConstraintOp,
|
|
67
|
+
ops.DropConstraintOp,
|
|
68
|
+
):
|
|
69
|
+
Operations._to_impl.dispatch_for(_operation, qualifier="sqlite")(
|
|
70
|
+
_batched(Operations._to_impl.dispatch(_operation))
|
|
71
|
+
)
|
|
72
|
+
Operations._to_impl.dispatch_for(ops.CreateIndexOp, qualifier="sqlite")(
|
|
73
|
+
_partial_index(Operations._to_impl.dispatch(ops.CreateIndexOp))
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def check_foreign_keys(connection) -> None:
|
|
78
|
+
"""Fail the migration transaction when a revision left a dangling key."""
|
|
79
|
+
violations = connection.exec_driver_sql("PRAGMA foreign_key_check").fetchall()
|
|
80
|
+
if violations:
|
|
81
|
+
tables = sorted({str(row[0]) for row in violations})
|
|
82
|
+
raise RuntimeError(f"Migration left foreign-key violations in: {', '.join(tables)}.")
|
|
@@ -125,7 +125,7 @@ def test_sqlite_runs_postgresql_jsonb_as_json_and_numeric_as_numbers(sqlite_sour
|
|
|
125
125
|
from sqlalchemy import Column, Integer, MetaData, Numeric, Table
|
|
126
126
|
from sqlalchemy.dialects.postgresql import JSONB
|
|
127
127
|
|
|
128
|
-
import metatables.migrations.
|
|
128
|
+
import metatables.migrations.sqlite # noqa: F401 Registers the SQLite JSONB rule.
|
|
129
129
|
from metatables.api.backend.backends.adapters.sqlite_introspection import (
|
|
130
130
|
introspect_sqlite_table,
|
|
131
131
|
)
|
|
@@ -160,6 +160,52 @@ def test_sqlite_runs_postgresql_jsonb_as_json_and_numeric_as_numbers(sqlite_sour
|
|
|
160
160
|
assert [row["id"] for row in selected] == [2, 1]
|
|
161
161
|
|
|
162
162
|
|
|
163
|
+
def test_postgresql_style_alter_revisions_run_through_sqlite_batch_mode(tmp_path):
|
|
164
|
+
from alembic.migration import MigrationContext
|
|
165
|
+
from alembic.operations import Operations
|
|
166
|
+
from sqlalchemy import Column, Integer, String, event, text
|
|
167
|
+
|
|
168
|
+
from metatables.migrations.sqlite import AUTO_BATCH_OPTION, check_foreign_keys
|
|
169
|
+
|
|
170
|
+
engine = create_engine(f"sqlite:///{tmp_path / 'batch.sqlite'}")
|
|
171
|
+
event.listen(engine, "connect", lambda raw, _record: raw.execute("PRAGMA foreign_keys = OFF"))
|
|
172
|
+
with engine.begin() as connection:
|
|
173
|
+
connection.exec_driver_sql("CREATE TABLE parent (id INTEGER PRIMARY KEY, code TEXT)")
|
|
174
|
+
connection.exec_driver_sql("CREATE TABLE child (id INTEGER PRIMARY KEY, parent_id INTEGER, "
|
|
175
|
+
"CONSTRAINT fk_child_parent FOREIGN KEY (parent_id) REFERENCES parent (id) ON DELETE CASCADE)")
|
|
176
|
+
connection.exec_driver_sql("INSERT INTO parent VALUES (1, 'a'), (2, 'b')")
|
|
177
|
+
connection.exec_driver_sql("INSERT INTO child VALUES (10, 1), (11, 2)")
|
|
178
|
+
op = Operations(MigrationContext.configure(connection, opts={AUTO_BATCH_OPTION: True}))
|
|
179
|
+
# The same calls a PostgreSQL revision makes; none of them is native SQLite DDL.
|
|
180
|
+
op.add_column("parent", Column("status", String(), nullable=True))
|
|
181
|
+
op.alter_column("parent", "code", existing_type=String(), nullable=False)
|
|
182
|
+
op.create_unique_constraint("uq_parent_code", "parent", ["code"])
|
|
183
|
+
op.drop_constraint("fk_child_parent", "child", type_="foreignkey")
|
|
184
|
+
op.create_foreign_key("fk_child_parent_restrict", "child", "parent", ["parent_id"], ["id"])
|
|
185
|
+
op.alter_column("child", "parent_id", existing_type=Integer(), nullable=False)
|
|
186
|
+
op.create_index("ix_parent_active", "parent", ["status"], unique=True,
|
|
187
|
+
postgresql_where=text("status = 'active'"))
|
|
188
|
+
check_foreign_keys(connection)
|
|
189
|
+
inspector = inspect(connection)
|
|
190
|
+
assert [fk["name"] for fk in inspector.get_foreign_keys("child")] == ["fk_child_parent_restrict"]
|
|
191
|
+
assert [c["nullable"] for c in inspector.get_columns("child") if c["name"] == "parent_id"] == [False]
|
|
192
|
+
assert [u["name"] for u in inspector.get_unique_constraints("parent")] == ["uq_parent_code"]
|
|
193
|
+
index = next(i for i in inspector.get_indexes("parent") if i["name"] == "ix_parent_active")
|
|
194
|
+
assert str(index["dialect_options"]["sqlite_where"]) == "status = 'active'"
|
|
195
|
+
# Rebuilding the parent kept every child row instead of cascading.
|
|
196
|
+
assert connection.exec_driver_sql("SELECT id, parent_id FROM child ORDER BY id").all() == [(10, 1), (11, 2)]
|
|
197
|
+
connection.exec_driver_sql("INSERT INTO child VALUES (12, 99)")
|
|
198
|
+
with pytest.raises(RuntimeError, match="child"):
|
|
199
|
+
check_foreign_keys(connection)
|
|
200
|
+
connection.exec_driver_sql("DELETE FROM child WHERE id = 12")
|
|
201
|
+
with engine.connect() as connection:
|
|
202
|
+
connection.exec_driver_sql("PRAGMA foreign_keys = ON")
|
|
203
|
+
with pytest.raises(RuntimeError, match="foreign_keys=OFF"):
|
|
204
|
+
Operations(MigrationContext.configure(connection, opts={AUTO_BATCH_OPTION: True})).add_column(
|
|
205
|
+
"parent", Column("note", String()))
|
|
206
|
+
engine.dispose()
|
|
207
|
+
|
|
208
|
+
|
|
163
209
|
def test_sub_microsecond_timestamps_fail_before_serialization():
|
|
164
210
|
from metatables.api.backend.contracts.values import utc_timestamp
|
|
165
211
|
from metatables.dtype_codec import TIMESTAMP_TZ, serialize_remote_value
|
|
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.12.dev24 → mainsequence_metatable-0.1.13}/api/metatables/main.py
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/compose.database-tests.yml
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
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/api/data-sources.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
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/local-storage.md
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/quickstart.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/client/tutorial.md
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/concepts/architecture.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/concepts/data-sources.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
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/contributing/releasing.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/contributing/testing.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/README.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/__init__.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
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/query.py
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/quickstart.py
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/reader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev24 → mainsequence_metatable-0.1.13}/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.12.dev24 → mainsequence_metatable-0.1.13}/docs/examples/updater.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|