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