mainsequence-metatable 0.1.12.dev25__tar.gz → 0.1.14__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.dev25/src/mainsequence_metatable.egg-info → mainsequence_metatable-0.1.14}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/operations/hosted-runtime.md +6 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/operations/recovery-and-observability.md +7 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/pyproject.toml +1 -1
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14/src/mainsequence_metatable.egg-info}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/mainsequence_metatable.egg-info/SOURCES.txt +1 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/bootstrap.py +57 -15
- mainsequence_metatable-0.1.14/tests/auth/test_bootstrap_failure_cause.py +80 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/uv.lock +1 -1
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/.agents/skills/client/metatables-local-development/SKILL.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/.agents/skills/client/metatables-meta-tables/SKILL.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/.agents/skills/client/metatables-migrations/SKILL.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/.agents/skills/client/metatables-time-index-table-updates/SKILL.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/.agents/skills/client/metatables-upgrade-legacy-app/SKILL.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/.mainsequence/workflows/metatables-api.yaml +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/LICENSE +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/MANIFEST.in +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/alembic.ini +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/compose.database-tests.yml +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0001-unified-api-storage-and-local-sqlite.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0002-application-administration-and-table-ownership.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0004-approved-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0005-run-logs-and-local-file-capture.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0006-historical-run-graphs.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0007-database-enforced-table-access.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0007-database-roles-and-privileges.svg +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0007-query-enforcement-path.svg +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0008-mysql-mssql-table-workflows.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0009-shared-credential-store.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0010-import-external-tables-and-views.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0012-bounded-data-transfer-and-safe-retries.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0013-application-owned-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0014-main-sequence-release-jobs-and-production-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/api/0015-timescale-compression-and-retention-policies.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/client/0003-api-endpoint-resolution.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/client/0011-cli-local-development-with-managed-admin.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/adr/index.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/api/authentication-and-errors.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/api/data-sources.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/api/openapi.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/api/overview.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/api/reference.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/api/tables-and-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/api/time-index-and-updates.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/assets/branding/metatables.svg +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/assets/diagrams/local-client-experience.svg +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/bounded-transfers.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/build-an-updater.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/define-and-migrate-tables.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/deploy-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/installation-and-connection.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/local-storage.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/query-and-mutate.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/quickstart.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/read-existing-time-index-tables.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/register-existing-tables.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/tutorial.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/upgrade-legacy-app.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/concepts/architecture.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/concepts/data-sources.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/concepts/identity-and-scope.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/concepts/permissions-namespaces-labels.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/concepts/runs-and-execution-graphs.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/concepts/table-contracts-and-lifecycle.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/concepts/time-index-tables-and-updates.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/contributing/architecture-and-boundaries.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/contributing/database-backends.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/contributing/documentation.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/contributing/releasing.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/contributing/testing.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/query.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/index.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/operations/catalog-migrations.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/operations/configuration.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/operations/local-runtime.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/operations/run-history.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/operations/run-logs.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/reference/capabilities.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/reference/cli.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/reference/python.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/security/index.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/security/ownership-and-sharing.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/security/permissions.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/mkdocs.yml +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/build_reference.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/check_boundaries.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/check_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/check_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/check_docs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/check_examples_debug.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/check_project.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/test_databases.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/scripts/test_postgresql.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/setup.cfg +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/mainsequence_metatable.egg-info/dependency_links.txt +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/mainsequence_metatable.egg-info/entry_points.txt +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/mainsequence_metatable.egg-info/requires.txt +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/mainsequence_metatable.egg-info/top_level.txt +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/_admin_source.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/_build.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/_skill_bundle.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/auth/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/auth/boundary.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/auth/caller_assertions.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/auth/local_actor.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/configuration.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/credential_admin.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/development.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/development_client.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/main.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/platform_cache.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/column_search.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/contract_validation.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/data_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/managed_finalize.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/namespaces.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/run_logs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/security.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_cascade.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_crud.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_delete.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_filter.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_import.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_introspection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_patch.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_registration.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_response.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_search_document.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_sql.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/time_index_reads.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/update_batch.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/update_chunk_insert.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/update_constants.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/update_crud.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/update_details.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/update_graph.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/update_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/update_registration.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/update_runs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/routes/update_statistics.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/runtime.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/runtime_control.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/runtime_database.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/source_passwords.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/app/transfer.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/access.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/maintenance/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/maintenance/postgresql.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/maintenance/runtime.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/maintenance/temporal.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/maintenance/timescaledb.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/maintenance/validation.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/postgresql_cascade_delete.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/postgresql_introspection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/postgresql_table_delete.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/postgresql_time_index.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/postgresql_time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/postgresql_time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/postgresql_time_index_write.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/source_validation.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/sqlite_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/sqlite_introspection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/adapters/table_cursor.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/catalog.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/catalog_ddl.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/catalog_types.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/contracts.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/hosted.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/hosted_access.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/native.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/pages.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/postgresql_access.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/relation_tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/relational.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/restricted_sql.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/sqlite_access.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/streaming.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/backends/timescale.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/contracts/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/contracts/relation_import.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/contracts/storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/contracts/table_contracts.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/contracts/values.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/domain/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/domain/catalog_rules.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/domain/data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/domain/index_statistics.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/domain/label_rules.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/domain/permission_rules.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/domain/update_constants.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/catalog_data_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/credential_keys.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/credential_store.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/data_source_provider.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/local_credentials.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/local_workspace.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/platform_principals.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/run_logs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/runtime_binding.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/runtime_data_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/integrations/source_validation.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/versions/0001_initial.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/versions/0002_security_model.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/versions/0003_run_log_capture.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/versions/0004_historical_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/versions/0005_database_access.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/versions/0006_local_credentials.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/versions/0007_external_relation_names.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/versions/0008_upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/versions/0009_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/operations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/operations/bootstrap_migrations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/operations/catalog_schema.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/operations/create_table.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/operations/finalize_managed.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/operations/import_relations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/operations/introspect_table.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/operations/read_time_index.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/operations/register_catalog.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/operations/search_documents.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/cascade.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/catalog.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/database.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/grants.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/labels.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/locking.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/models.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/physical_operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/projections.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/run_graphs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/sqlite_types.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/table_queries.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/table_response.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/update_graph.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/updates.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/persistence/upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/backend/presentation/data_source_summary.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/metatables/configuration.yaml +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/cli/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/cli/admin_install.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/cli/app.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/cli/filters.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/cli/local.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/cli/migrations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/cli/project.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/cli/skills.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/compiled_sql/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/compiled_sql/mssql.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/compiled_sql/v1.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/dtype_codec.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/endpoint.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/query.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/future_registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/hashing.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/instrumentation.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/local_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/local_files.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/log_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/alembic.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/provider.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/runner.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/scaffold.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/sqlite.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/templates/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/templates/env.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/templates/script.py.mako +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/migrations/tls.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/models.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/pydantic_metadata.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/run_logging.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/runtime.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/runtime_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/schema_names.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/sdk_compat.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/sqlalchemy_contracts.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/time_index_table_refs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/transfer.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/transfer_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/transport.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/update_configuration_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/updaters/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/updaters/configuration.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/updaters/dependencies.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/updaters/managers.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/updaters/namespacing.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/updaters/runner.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/updaters/updaters.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/updaters/utils.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/src/metatables/upload.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_caller_assertions.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_data_source_identity.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_development_client.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_hosted_environment_target.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_local_mode.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_platform_fact_cache.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_runtime_database.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_runtime_scaffold.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_runtime_selection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_runtime_storage_binding.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/auth/test_source_passwords.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/catalog/test_catalog_foundation.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/catalog/test_contract_projection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/catalog/test_database_config.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/catalog/test_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/catalog/test_migration.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/conftest.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/contracts/capabilities.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/contracts/client_signatures.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/contracts/database_operations.json +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/contracts/test_bounded_transfer.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/contracts/test_compiler_runtime_source.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/contracts/test_relation_batching.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/contracts/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/contracts/test_storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/contracts/test_table_contracts.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/Dockerfile +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/Dockerfile.dockerignore +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/conftest.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/provider/__init__.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/provider/env.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/provider/versions/0001_measurement.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/test_api_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/test_application_migration.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/test_bootstrap_recovery.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/test_catalog_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/test_credential_catalog.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/test_physical_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/test_sql_security.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_backend/test_update_client.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_operations/test_physical_operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_operations/test_postgresql_operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/database_operations/test_runtime_and_temporal.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/documentation/test_project_checks.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_admin_installation.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_api_endpoint.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_application_owned_migrations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_catalog_outage.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_client_api_contract.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_client_migration_scaffold.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_client_migration_tls.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_client_package.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_client_signatures.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_client_value_behaviors.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_data_source_registry.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_local_actor_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_local_cli_workflow.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_local_client_selection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_managed_finalize_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_namespaces_admin_http.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_public_imports.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_remaining_client_routes.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_run_logs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_runtime_transition.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_runtime_upgrade.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_sdk_local_startup.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_sqlite_runtime.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_table_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_table_filter_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_table_introspection_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_table_patch_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_table_search_document_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_table_stats_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_table_updates_http.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_time_index_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_time_index_reads_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_timescale_policies_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_update_batch_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_update_chunk_insert_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_update_dependency_priority_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_update_index_statistics_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/e2e/test_update_registration_client_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/examples/test_documented_examples.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/examples/test_postgresql_examples.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/examples/test_setup_launch.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/examples/test_tutorial.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/integrations/test_credential_store.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/integrations/test_data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/integrations/test_local_data_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/integrations/test_local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/integrations/test_postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/integrations/test_postgresql_sql.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/integrations/test_postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/integrations/test_postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/integrations/test_source_validation.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/integrations/test_sqlite_operations.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/labels/test_labels.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/operations/test_create_table_operation.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/operations/test_create_table_postgres.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/operations/test_physical_operation_journal.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/operations/test_register_catalog.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/operations/test_search_documents.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/operations/test_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/packaging/test_client_skills.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/packaging/test_dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/packaging/test_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/packaging/test_editable_build.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/packaging/test_installed_distribution.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/permissions/test_governed_sql_scope.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/permissions/test_local_actor_membership.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/permissions/test_migration_boundary.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/permissions/test_namespace_grants.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/permissions/test_security_api.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/permissions/test_table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/permissions/test_table_grants.py +0 -0
- {mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/tests/permissions/test_table_queries.py +0 -0
|
@@ -123,6 +123,12 @@ Any failure blocks the rollout. The Job prints `status` (`initialized`, `upgrade
|
|
|
123
123
|
or `up_to_date`), `previous_revisions`, `revisions` and `data_source_uid`. A new
|
|
124
124
|
runtime DataSource is recorded as created by the Job's SDK user.
|
|
125
125
|
|
|
126
|
+
A failed run names its cause. The error line gives the exception type, plus the
|
|
127
|
+
database server's SQLSTATE and message when the server answered. The
|
|
128
|
+
`metatables.bootstrap` logger writes the full error with its traceback to the Job
|
|
129
|
+
log, with passwords, tokens and connection-string credentials redacted. Settings
|
|
130
|
+
and API errors never carry driver text, which can include hosts and connection strings.
|
|
131
|
+
|
|
126
132
|
## API pods and Settings
|
|
127
133
|
|
|
128
134
|
API pods read the same declaration and Secret at startup and never run DDL. They
|
|
@@ -54,6 +54,13 @@ assertions, migration passwords, or TLS keys. SDK logging/tracing integration is
|
|
|
54
54
|
optional behavior; catalog membership and storage authorization are not derived
|
|
55
55
|
from logging context.
|
|
56
56
|
|
|
57
|
+
The `metatables.bootstrap` logger records unexpected runtime database failures
|
|
58
|
+
(inspection, migration, registration and the Local selection file) with their
|
|
59
|
+
traceback, redacting passwords, tokens and connection-string credentials as run
|
|
60
|
+
logs do. The matching API error names only the exception type and, when the database
|
|
61
|
+
server answered, its SQLSTATE and message. See the
|
|
62
|
+
[deployment gate](hosted-runtime.md#deployment-gate).
|
|
63
|
+
|
|
57
64
|
Distinguish HTTP availability, catalog readiness, caller admission, source grants,
|
|
58
65
|
physical capabilities, and actual database connectivity when diagnosing failures.
|
|
59
66
|
The [testing guide](../contributing/testing.md) distinguishes isolated tests from
|
|
@@ -406,6 +406,7 @@ src/metatables/updaters/runner.py
|
|
|
406
406
|
src/metatables/updaters/updaters.py
|
|
407
407
|
src/metatables/updaters/utils.py
|
|
408
408
|
tests/conftest.py
|
|
409
|
+
tests/auth/test_bootstrap_failure_cause.py
|
|
409
410
|
tests/auth/test_caller_assertions.py
|
|
410
411
|
tests/auth/test_data_source_identity.py
|
|
411
412
|
tests/auth/test_development_client.py
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"""Explicit, mode-independent initialization of the selected runtime database."""
|
|
2
2
|
import json
|
|
3
|
+
import logging
|
|
3
4
|
import os
|
|
5
|
+
import traceback
|
|
4
6
|
from contextlib import ExitStack, contextmanager
|
|
5
7
|
from dataclasses import replace
|
|
6
8
|
from pathlib import Path
|
|
@@ -42,9 +44,11 @@ from metatables.api.backend.persistence.models import (
|
|
|
42
44
|
MetaTable,
|
|
43
45
|
PhysicalOperation,
|
|
44
46
|
)
|
|
47
|
+
from metatables.log_contract import redact
|
|
45
48
|
from metatables.runtime_contract import RuntimeBootstrapDescriptor
|
|
46
49
|
|
|
47
50
|
VERSION_TABLE = "metatables_catalog_version"
|
|
51
|
+
logger = logging.getLogger("metatables.bootstrap")
|
|
48
52
|
|
|
49
53
|
|
|
50
54
|
class RuntimeSourceInput(BaseModel):
|
|
@@ -58,14 +62,42 @@ class BootstrapError(RuntimeError):
|
|
|
58
62
|
pass
|
|
59
63
|
|
|
60
64
|
|
|
61
|
-
def
|
|
62
|
-
"""The database's
|
|
65
|
+
def server_diagnostic(exc):
|
|
66
|
+
"""The database server's SQLSTATE and primary message, never SQL text, parameters or driver text."""
|
|
63
67
|
orig = getattr(exc, "orig", None)
|
|
64
68
|
code = getattr(orig, "pgcode", None) or getattr(orig, "sqlstate", None)
|
|
65
|
-
|
|
69
|
+
return code, getattr(getattr(orig, "diag", None), "message_primary", None)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def insufficient_privilege(exc):
|
|
73
|
+
"""The database's own message for a missing privilege, never SQL text or parameters."""
|
|
74
|
+
code, message = server_diagnostic(exc)
|
|
66
75
|
return message if code == "42501" and message else None
|
|
67
76
|
|
|
68
77
|
|
|
78
|
+
def failure_cause(exc):
|
|
79
|
+
"""The part of an unexpected failure that callers may see.
|
|
80
|
+
|
|
81
|
+
Its type and, when the database server answered, the SQLSTATE and primary
|
|
82
|
+
message. Driver text can carry hosts, connection strings or secrets, so it
|
|
83
|
+
reaches only the redacted log written by `log_failure`.
|
|
84
|
+
"""
|
|
85
|
+
code, message = server_diagnostic(exc)
|
|
86
|
+
cause = type(exc).__name__ + (f" {code}" if code else "")
|
|
87
|
+
return f"{cause}: {redact(' '.join(str(message).split()))}" if message else cause
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def log_failure(event, exc):
|
|
91
|
+
"""Log an unexpected failure with its traceback, redacted like run log records.
|
|
92
|
+
|
|
93
|
+
Returns the failure's caller-visible cause for the error message.
|
|
94
|
+
"""
|
|
95
|
+
cause = failure_cause(exc)
|
|
96
|
+
lines = "".join(traceback.format_exception(exc)).rstrip().splitlines()
|
|
97
|
+
logger.error("%s (%s).\n%s", event, cause, "\n".join(redact(line) for line in lines))
|
|
98
|
+
return cause
|
|
99
|
+
|
|
100
|
+
|
|
69
101
|
class DestroyLocalInput(BaseModel):
|
|
70
102
|
model_config = ConfigDict(extra="forbid")
|
|
71
103
|
path: str
|
|
@@ -114,8 +146,9 @@ class RuntimeBootstrap:
|
|
|
114
146
|
result["required_revisions"] = sorted(script.get_heads())
|
|
115
147
|
if not result["required_revisions"]:
|
|
116
148
|
raise ValueError("Migration files have no head revision")
|
|
117
|
-
except Exception:
|
|
118
|
-
|
|
149
|
+
except Exception as exc:
|
|
150
|
+
cause = log_failure("Cannot read the API's migration files", exc)
|
|
151
|
+
result["migration_error"] = f"Cannot read the API's migration files ({cause}). Check the migration directory and refresh."
|
|
119
152
|
return result
|
|
120
153
|
if not self.candidate:
|
|
121
154
|
result["migration_status"] = "unconfigured"
|
|
@@ -129,8 +162,9 @@ class RuntimeBootstrap:
|
|
|
129
162
|
with engine.connect() as connection:
|
|
130
163
|
result["current_revisions"] = sorted(MigrationContext.configure(
|
|
131
164
|
connection, opts={"version_table": VERSION_TABLE}).get_current_heads())
|
|
132
|
-
except Exception:
|
|
133
|
-
|
|
165
|
+
except Exception as exc:
|
|
166
|
+
cause = log_failure("Cannot read the database's applied migrations", exc)
|
|
167
|
+
result["migration_error"] = f"Cannot read the database's applied migrations ({cause}). Check its connection and refresh."
|
|
134
168
|
return result
|
|
135
169
|
try:
|
|
136
170
|
current = result["current_revisions"]
|
|
@@ -314,9 +348,11 @@ class RuntimeBootstrap:
|
|
|
314
348
|
self.status, self.error = "incompatible", str(exc)
|
|
315
349
|
except CredentialStoreError as exc:
|
|
316
350
|
self.status, self.error = "unavailable", exc.message
|
|
317
|
-
except Exception:
|
|
351
|
+
except Exception as exc:
|
|
352
|
+
cause = log_failure("Cannot verify the selected database or its Alembic history", exc)
|
|
318
353
|
self.status = "unavailable"
|
|
319
|
-
self.error = "Cannot verify the selected database or its Alembic history. Check configuration,
|
|
354
|
+
self.error = (f"Cannot verify the selected database or its Alembic history ({cause}). Check configuration, "
|
|
355
|
+
"Secret access and the API's migration version. The log has the full error.")
|
|
320
356
|
|
|
321
357
|
def require_prerequisites(self, connection):
|
|
322
358
|
# Before any setup DDL: a database the login cannot secure must never be
|
|
@@ -395,7 +431,9 @@ class RuntimeBootstrap:
|
|
|
395
431
|
self.error = (f"Database setup failed: {privilege_error}. The DataSource login must own the runtime "
|
|
396
432
|
"database and every object in it; see the DataSource database privileges.")
|
|
397
433
|
raise BootstrapError(self.error) from None
|
|
398
|
-
|
|
434
|
+
cause = log_failure("MetaTables migration or registration failed", exc)
|
|
435
|
+
self.error = (f"MetaTables migration or registration failed ({cause}). The runtime was not activated; "
|
|
436
|
+
"inspect the database before retrying. The log has the full error.")
|
|
399
437
|
raise BootstrapError(self.error) from None
|
|
400
438
|
|
|
401
439
|
def persist_selection(self):
|
|
@@ -447,11 +485,13 @@ class RuntimeBootstrap:
|
|
|
447
485
|
raise
|
|
448
486
|
except RuntimeError as exc:
|
|
449
487
|
raise BootstrapError(str(exc)) from None
|
|
450
|
-
except Exception:
|
|
488
|
+
except Exception as exc:
|
|
489
|
+
cause = log_failure("Unable to finish local database destruction", exc)
|
|
490
|
+
message = f"Unable to finish local database destruction ({cause}). Check file access and retry."
|
|
451
491
|
if not self.active:
|
|
452
492
|
self.status = "unavailable"
|
|
453
|
-
self.error =
|
|
454
|
-
raise BootstrapError(
|
|
493
|
+
self.error = message
|
|
494
|
+
raise BootstrapError(message) from None
|
|
455
495
|
|
|
456
496
|
def activate(self, request, user_uid=None, *, persist=True):
|
|
457
497
|
self.inspect()
|
|
@@ -466,8 +506,10 @@ class RuntimeBootstrap:
|
|
|
466
506
|
try:
|
|
467
507
|
self.persist_selection()
|
|
468
508
|
self.save_local_selection = False
|
|
469
|
-
except Exception:
|
|
470
|
-
|
|
509
|
+
except Exception as exc:
|
|
510
|
+
cause = log_failure("Unable to save runtime selection", exc)
|
|
511
|
+
raise BootstrapError(f"Unable to save runtime selection ({cause}). The database is initialized "
|
|
512
|
+
"but was not activated.") from None
|
|
471
513
|
binding = RuntimeStorageBinding(catalog_url=str(self.engine.url), workspace=self.workspace,
|
|
472
514
|
source_uid=self.uid, source_configuration=self.candidate["configuration"])
|
|
473
515
|
from sqlalchemy import create_engine
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"""An unexpected runtime database failure names its cause; driver text stays in the redacted log."""
|
|
2
|
+
import logging
|
|
3
|
+
from types import SimpleNamespace
|
|
4
|
+
from uuid import uuid4
|
|
5
|
+
|
|
6
|
+
import pytest
|
|
7
|
+
from sqlalchemy.exc import OperationalError
|
|
8
|
+
|
|
9
|
+
from metatables.api.app.bootstrap import BootstrapError, RuntimeBootstrap
|
|
10
|
+
|
|
11
|
+
PASSWORD = "hunter2-runtime-login"
|
|
12
|
+
DSN = f"postgresql://metatables:{PASSWORD}@db.internal.test:5432/runtime"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ServerError(Exception):
|
|
16
|
+
"""A DBAPI error carrying the server's SQLSTATE and primary message, as psycopg does."""
|
|
17
|
+
|
|
18
|
+
pgcode = "28P01"
|
|
19
|
+
diag = SimpleNamespace(message_primary='password authentication failed for user "metatables"')
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def failing_target(tmp_path, failure):
|
|
23
|
+
"""A runtime target whose database connection raises `failure`."""
|
|
24
|
+
config = SimpleNamespace(local_mode=True, configuration_path=tmp_path / "configuration.yaml")
|
|
25
|
+
target = RuntimeBootstrap(config, None)
|
|
26
|
+
target.candidate = {"display_name": "runtime", "class_type": "postgresql",
|
|
27
|
+
"configuration": {"host": "db.internal.test"}}
|
|
28
|
+
|
|
29
|
+
def connect():
|
|
30
|
+
raise failure
|
|
31
|
+
|
|
32
|
+
target.open_engine = lambda create=False: SimpleNamespace(connect=connect)
|
|
33
|
+
return target
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def logged(caplog):
|
|
37
|
+
return [record for record in caplog.records if record.name == "metatables.bootstrap"]
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def test_inspection_failure_names_its_type_and_logs_the_redacted_traceback(tmp_path, caplog):
|
|
41
|
+
failure = OperationalError(None, None, RuntimeError(f'connection failed: invalid connection string "{DSN}"'))
|
|
42
|
+
target = failing_target(tmp_path, failure)
|
|
43
|
+
with caplog.at_level(logging.ERROR, logger="metatables.bootstrap"):
|
|
44
|
+
target.inspect()
|
|
45
|
+
assert target.status == "unavailable"
|
|
46
|
+
assert target.error.startswith("Cannot verify the selected database or its Alembic history (OperationalError). ")
|
|
47
|
+
# Callers (Settings, runtime-context, the Job's error line) never see driver text.
|
|
48
|
+
assert "db.internal.test" not in target.error and PASSWORD not in target.error
|
|
49
|
+
[record] = logged(caplog)
|
|
50
|
+
assert record.levelno == logging.ERROR
|
|
51
|
+
message = record.getMessage()
|
|
52
|
+
assert message.startswith("Cannot verify the selected database or its Alembic history (OperationalError).\n")
|
|
53
|
+
assert "Traceback (most recent call last):" in message and ", in connect\n" in message
|
|
54
|
+
assert "sqlalchemy.exc.OperationalError: (builtins.RuntimeError) connection failed" in message
|
|
55
|
+
assert "postgresql://metatables:[redacted]@db.internal.test:5432/runtime" in message
|
|
56
|
+
assert PASSWORD not in caplog.text
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def test_inspection_failure_names_the_database_server_answer(tmp_path, caplog):
|
|
60
|
+
failure = OperationalError(None, None, ServerError(f"FATAL: password authentication failed; dsn={DSN}"))
|
|
61
|
+
target = failing_target(tmp_path, failure)
|
|
62
|
+
with caplog.at_level(logging.ERROR, logger="metatables.bootstrap"):
|
|
63
|
+
target.inspect()
|
|
64
|
+
assert ('(OperationalError 28P01: password authentication failed for user "metatables")'
|
|
65
|
+
in target.error)
|
|
66
|
+
assert PASSWORD not in target.error and "dsn" not in target.error
|
|
67
|
+
assert PASSWORD not in caplog.text
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def test_runtime_upgrade_fails_with_the_cause(tmp_path, caplog):
|
|
71
|
+
# `metatables runtime upgrade` prints this BootstrapError and fails the Job.
|
|
72
|
+
failure = OperationalError(None, None, RuntimeError(f"could not connect to {DSN}: timeout expired"))
|
|
73
|
+
target = failing_target(tmp_path, failure)
|
|
74
|
+
with caplog.at_level(logging.ERROR, logger="metatables.bootstrap"), pytest.raises(BootstrapError) as raised:
|
|
75
|
+
target.migrate(uuid4())
|
|
76
|
+
assert str(raised.value).startswith("Cannot verify the selected database or its Alembic history (OperationalError). ")
|
|
77
|
+
assert PASSWORD not in str(raised.value)
|
|
78
|
+
records = logged(caplog)
|
|
79
|
+
assert records and all("timeout expired" in record.getMessage() for record in records)
|
|
80
|
+
assert PASSWORD not in caplog.text
|
|
File without changes
|
|
File without changes
|
|
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.dev25 → mainsequence_metatable-0.1.14}/api/metatables/main.py
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/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
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/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.dev25 → mainsequence_metatable-0.1.14}/docs/client/local-storage.md
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/quickstart.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/client/tutorial.md
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/concepts/architecture.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/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.dev25 → mainsequence_metatable-0.1.14}/docs/contributing/releasing.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/contributing/testing.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/README.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/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.dev25 → mainsequence_metatable-0.1.14}/docs/examples/query.py
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/quickstart.py
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/examples/reader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/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.dev25 → mainsequence_metatable-0.1.14}/docs/examples/updater.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/operations/run-history.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/operations/run-logs.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/reference/capabilities.md
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/reference/python.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/security/index.md
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.12.dev25 → mainsequence_metatable-0.1.14}/docs/security/permissions.md
RENAMED
|
File without changes
|