mainsequence-metatable 0.1.8.dev11__tar.gz → 0.1.8.dev13__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.
Files changed (523) hide show
  1. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/.agents/skills/client/metatables-migrations/SKILL.md +42 -8
  2. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/.agents/skills/client/metatables-upgrade-legacy-app/SKILL.md +26 -4
  3. {mainsequence_metatable-0.1.8.dev11/src/mainsequence_metatable.egg-info → mainsequence_metatable-0.1.8.dev13}/PKG-INFO +1 -1
  4. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0014-main-sequence-release-jobs-and-production-migrations.md +5 -1
  5. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/define-and-migrate-tables.md +20 -1
  6. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/upgrade-legacy-app.md +14 -3
  7. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/pyproject.toml +1 -1
  8. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13/src/mainsequence_metatable.egg-info}/PKG-INFO +1 -1
  9. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/endpoint.py +7 -0
  10. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_api_endpoint.py +22 -1
  11. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/.agents/skills/client/metatables-local-development/SKILL.md +0 -0
  12. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/.agents/skills/client/metatables-meta-tables/SKILL.md +0 -0
  13. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/.agents/skills/client/metatables-time-index-table-updates/SKILL.md +0 -0
  14. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/.mainsequence/workflows/metatables-api.yaml +0 -0
  15. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/LICENSE +0 -0
  16. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/MANIFEST.in +0 -0
  17. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/README.md +0 -0
  18. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/alembic.ini +0 -0
  19. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/api/metatables/main.py +0 -0
  20. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/compose.database-tests.yml +0 -0
  21. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0001-unified-api-storage-and-local-sqlite.md +0 -0
  22. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0002-application-administration-and-table-ownership.md +0 -0
  23. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0004-approved-application-migrations.md +0 -0
  24. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0005-run-logs-and-local-file-capture.md +0 -0
  25. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0006-historical-run-graphs.md +0 -0
  26. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0007-database-enforced-table-access.md +0 -0
  27. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0007-database-roles-and-privileges.svg +0 -0
  28. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0007-query-enforcement-path.svg +0 -0
  29. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0008-mysql-mssql-table-workflows.md +0 -0
  30. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0009-shared-credential-store.md +0 -0
  31. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0010-import-external-tables-and-views.md +0 -0
  32. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0012-bounded-data-transfer-and-safe-retries.md +0 -0
  33. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/api/0013-application-owned-migrations.md +0 -0
  34. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/client/0003-api-endpoint-resolution.md +0 -0
  35. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/client/0011-cli-local-development-with-managed-admin.md +0 -0
  36. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/adr/index.md +0 -0
  37. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/api/authentication-and-errors.md +0 -0
  38. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/api/data-sources.md +0 -0
  39. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/api/openapi.json +0 -0
  40. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/api/overview.md +0 -0
  41. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/api/reference.md +0 -0
  42. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/api/tables-and-migrations.md +0 -0
  43. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/api/time-index-and-updates.md +0 -0
  44. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/assets/branding/metatables.svg +0 -0
  45. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/assets/diagrams/local-client-experience.svg +0 -0
  46. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/bounded-transfers.md +0 -0
  47. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/build-an-updater.md +0 -0
  48. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/installation-and-connection.md +0 -0
  49. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/local-storage.md +0 -0
  50. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/query-and-mutate.md +0 -0
  51. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/quickstart.md +0 -0
  52. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/read-existing-time-index-tables.md +0 -0
  53. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/register-existing-tables.md +0 -0
  54. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/client/tutorial.md +0 -0
  55. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/concepts/architecture.md +0 -0
  56. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/concepts/data-sources.md +0 -0
  57. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/concepts/identity-and-scope.md +0 -0
  58. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/concepts/permissions-namespaces-labels.md +0 -0
  59. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/concepts/runs-and-execution-graphs.md +0 -0
  60. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/concepts/table-contracts-and-lifecycle.md +0 -0
  61. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/concepts/time-index-tables-and-updates.md +0 -0
  62. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/contributing/architecture-and-boundaries.md +0 -0
  63. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/contributing/database-backends.md +0 -0
  64. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/contributing/documentation.md +0 -0
  65. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/contributing/releasing.md +0 -0
  66. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/contributing/testing.md +0 -0
  67. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/README.md +0 -0
  68. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/__init__.py +0 -0
  69. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/bounded_reader.py +0 -0
  70. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/data_sources/README.md +0 -0
  71. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/data_sources/mssql.json +0 -0
  72. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/data_sources/mysql.json +0 -0
  73. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/data_sources/postgresql.json +0 -0
  74. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/data_sources/register.py +0 -0
  75. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/external_table.py +0 -0
  76. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/local_app/README.md +0 -0
  77. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/local_app/__init__.py +0 -0
  78. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/local_app/__main__.py +0 -0
  79. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/local_app/migrations/__init__.py +0 -0
  80. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/local_app/migrations/env.py +0 -0
  81. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/local_app/migrations/script.py.mako +0 -0
  82. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
  83. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/local_app/tables.py +0 -0
  84. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/query.py +0 -0
  85. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/quickstart.py +0 -0
  86. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/reader.py +0 -0
  87. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/scripts/__init__.py +0 -0
  88. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/scripts/setup_metatables.py +0 -0
  89. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tables.py +0 -0
  90. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/README.md +0 -0
  91. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/__init__.py +0 -0
  92. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/__main__.py +0 -0
  93. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/data/README.md +0 -0
  94. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
  95. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/frames.py +0 -0
  96. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/migrations/__init__.py +0 -0
  97. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/migrations/env.py +0 -0
  98. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/migrations/registry.py +0 -0
  99. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/migrations/script.py.mako +0 -0
  100. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/migrations/versions/__init__.py +0 -0
  101. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
  102. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
  103. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
  104. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/operations.py +0 -0
  105. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/tables.py +0 -0
  106. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/tutorial/updaters.py +0 -0
  107. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/examples/updater.py +0 -0
  108. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/index.md +0 -0
  109. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/operations/catalog-migrations.md +0 -0
  110. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/operations/configuration.md +0 -0
  111. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/operations/hosted-runtime.md +0 -0
  112. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/operations/local-runtime.md +0 -0
  113. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/operations/recovery-and-observability.md +0 -0
  114. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/operations/run-history.md +0 -0
  115. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/operations/run-logs.md +0 -0
  116. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/reference/capabilities.md +0 -0
  117. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/reference/cli.md +0 -0
  118. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/reference/python.md +0 -0
  119. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/security/index.md +0 -0
  120. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/security/ownership-and-sharing.md +0 -0
  121. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/docs/security/permissions.md +0 -0
  122. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/mkdocs.yml +0 -0
  123. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/__init__.py +0 -0
  124. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/build_reference.py +0 -0
  125. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/check_boundaries.py +0 -0
  126. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/check_client_api_coverage.py +0 -0
  127. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/check_distribution_sources.py +0 -0
  128. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/check_docs.py +0 -0
  129. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/check_examples_debug.py +0 -0
  130. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/check_project.py +0 -0
  131. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/dev_release_version.py +0 -0
  132. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/test_databases.py +0 -0
  133. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/scripts/test_postgresql.py +0 -0
  134. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/setup.cfg +0 -0
  135. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/mainsequence_metatable.egg-info/SOURCES.txt +0 -0
  136. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/mainsequence_metatable.egg-info/dependency_links.txt +0 -0
  137. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/mainsequence_metatable.egg-info/entry_points.txt +0 -0
  138. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/mainsequence_metatable.egg-info/requires.txt +0 -0
  139. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/mainsequence_metatable.egg-info/top_level.txt +0 -0
  140. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/__init__.py +0 -0
  141. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/_admin_source.json +0 -0
  142. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/_build.py +0 -0
  143. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/_skill_bundle.py +0 -0
  144. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/__init__.py +0 -0
  145. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/__init__.py +0 -0
  146. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/auth/__init__.py +0 -0
  147. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/auth/boundary.py +0 -0
  148. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/auth/caller_assertions.py +0 -0
  149. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/auth/local_actor.py +0 -0
  150. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/bootstrap.py +0 -0
  151. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/configuration.py +0 -0
  152. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/credential_admin.py +0 -0
  153. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/development.py +0 -0
  154. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/development_client.py +0 -0
  155. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/main.py +0 -0
  156. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/platform_cache.py +0 -0
  157. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/__init__.py +0 -0
  158. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/column_search.py +0 -0
  159. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/contract_validation.py +0 -0
  160. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/data_sources.py +0 -0
  161. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/managed_finalize.py +0 -0
  162. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/migration_connection.py +0 -0
  163. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/namespaces.py +0 -0
  164. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/run_logs.py +0 -0
  165. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/runtime_context.py +0 -0
  166. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/schema_graph.py +0 -0
  167. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/security.py +0 -0
  168. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_cascade.py +0 -0
  169. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_crud.py +0 -0
  170. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_delete.py +0 -0
  171. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_filter.py +0 -0
  172. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_import.py +0 -0
  173. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_introspection.py +0 -0
  174. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_patch.py +0 -0
  175. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_registration.py +0 -0
  176. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_response.py +0 -0
  177. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_search_document.py +0 -0
  178. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_sql.py +0 -0
  179. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/table_update_pipeline.py +0 -0
  180. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/time_index_delete.py +0 -0
  181. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/time_index_reads.py +0 -0
  182. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/time_index_stats.py +0 -0
  183. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/update_batch.py +0 -0
  184. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/update_chunk_insert.py +0 -0
  185. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/update_constants.py +0 -0
  186. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/update_crud.py +0 -0
  187. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/update_details.py +0 -0
  188. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/update_graph.py +0 -0
  189. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/update_index_statistics.py +0 -0
  190. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/update_registration.py +0 -0
  191. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/update_runs.py +0 -0
  192. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/routes/update_statistics.py +0 -0
  193. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/runtime.py +0 -0
  194. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/runtime_control.py +0 -0
  195. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/source_passwords.py +0 -0
  196. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/source_registrations.py +0 -0
  197. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/app/transfer.py +0 -0
  198. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/__init__.py +0 -0
  199. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/__init__.py +0 -0
  200. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/access.py +0 -0
  201. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/__init__.py +0 -0
  202. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/maintenance/__init__.py +0 -0
  203. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/maintenance/postgresql.py +0 -0
  204. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/maintenance/runtime.py +0 -0
  205. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/maintenance/temporal.py +0 -0
  206. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/maintenance/timescaledb.py +0 -0
  207. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/maintenance/validation.py +0 -0
  208. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/postgresql_cascade_delete.py +0 -0
  209. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/postgresql_connection.py +0 -0
  210. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/postgresql_introspection.py +0 -0
  211. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/postgresql_table_delete.py +0 -0
  212. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/postgresql_tables.py +0 -0
  213. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/postgresql_time_index.py +0 -0
  214. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/postgresql_time_index_delete.py +0 -0
  215. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/postgresql_time_index_queries.py +0 -0
  216. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/postgresql_time_index_stats.py +0 -0
  217. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/postgresql_time_index_write.py +0 -0
  218. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/source_validation.py +0 -0
  219. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/sqlite_connection.py +0 -0
  220. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/sqlite_introspection.py +0 -0
  221. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/adapters/table_cursor.py +0 -0
  222. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/catalog.py +0 -0
  223. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/catalog_ddl.py +0 -0
  224. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/catalog_types.py +0 -0
  225. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/contracts.py +0 -0
  226. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/hosted.py +0 -0
  227. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/hosted_access.py +0 -0
  228. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/migration_connection.py +0 -0
  229. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/native.py +0 -0
  230. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/operations.py +0 -0
  231. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/pages.py +0 -0
  232. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/postgresql_access.py +0 -0
  233. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/registry.py +0 -0
  234. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/relation_tables.py +0 -0
  235. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/relational.py +0 -0
  236. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/restricted_sql.py +0 -0
  237. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/sqlite_access.py +0 -0
  238. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/backends/streaming.py +0 -0
  239. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/contracts/__init__.py +0 -0
  240. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/contracts/relation_import.py +0 -0
  241. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/contracts/storage_layouts.py +0 -0
  242. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/contracts/table_contracts.py +0 -0
  243. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/contracts/values.py +0 -0
  244. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/domain/__init__.py +0 -0
  245. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/domain/catalog_rules.py +0 -0
  246. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/domain/data_source_rules.py +0 -0
  247. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/domain/index_statistics.py +0 -0
  248. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/domain/label_rules.py +0 -0
  249. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/domain/permission_rules.py +0 -0
  250. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/domain/update_constants.py +0 -0
  251. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/__init__.py +0 -0
  252. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/catalog_data_sources.py +0 -0
  253. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/credential_keys.py +0 -0
  254. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/credential_store.py +0 -0
  255. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/data_source_provider.py +0 -0
  256. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/local_credentials.py +0 -0
  257. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/local_workspace.py +0 -0
  258. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/platform_principals.py +0 -0
  259. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/run_logs.py +0 -0
  260. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/runtime_binding.py +0 -0
  261. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/runtime_data_sources.py +0 -0
  262. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/integrations/source_validation.py +0 -0
  263. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/__init__.py +0 -0
  264. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/env.py +0 -0
  265. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/script.py.mako +0 -0
  266. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/versions/0001_initial.py +0 -0
  267. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/versions/0002_security_model.py +0 -0
  268. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/versions/0003_run_log_capture.py +0 -0
  269. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/versions/0004_historical_run_graphs.py +0 -0
  270. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/versions/0005_database_access.py +0 -0
  271. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/versions/0006_local_credentials.py +0 -0
  272. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/versions/0007_external_relation_names.py +0 -0
  273. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/versions/0008_upload_receipts.py +0 -0
  274. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/migrations/versions/__init__.py +0 -0
  275. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/operations/__init__.py +0 -0
  276. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/operations/bootstrap_migrations.py +0 -0
  277. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/operations/catalog_schema.py +0 -0
  278. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/operations/create_table.py +0 -0
  279. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/operations/finalize_managed.py +0 -0
  280. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/operations/import_relations.py +0 -0
  281. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/operations/introspect_table.py +0 -0
  282. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/operations/read_time_index.py +0 -0
  283. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/operations/register_catalog.py +0 -0
  284. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/operations/search_documents.py +0 -0
  285. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/__init__.py +0 -0
  286. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/cascade.py +0 -0
  287. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/catalog.py +0 -0
  288. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/database.py +0 -0
  289. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/grants.py +0 -0
  290. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/labels.py +0 -0
  291. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/locking.py +0 -0
  292. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/models.py +0 -0
  293. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/physical_operations.py +0 -0
  294. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/projections.py +0 -0
  295. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/run_graphs.py +0 -0
  296. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/schema_graph.py +0 -0
  297. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/sqlite_types.py +0 -0
  298. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/table_body_filter.py +0 -0
  299. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/table_queries.py +0 -0
  300. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/table_response.py +0 -0
  301. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/update_graph.py +0 -0
  302. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/update_pipeline.py +0 -0
  303. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/updates.py +0 -0
  304. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/persistence/upload_receipts.py +0 -0
  305. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/backend/presentation/data_source_summary.py +0 -0
  306. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/metatables/__init__.py +0 -0
  307. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/metatables/configuration.yaml +0 -0
  308. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/api/metatables/main.py +0 -0
  309. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/cli/__init__.py +0 -0
  310. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/cli/admin_install.py +0 -0
  311. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/cli/app.py +0 -0
  312. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/cli/filters.py +0 -0
  313. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/cli/local.py +0 -0
  314. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/cli/migrations.py +0 -0
  315. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/cli/project.py +0 -0
  316. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/cli/skills.py +0 -0
  317. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/compiled_sql/__init__.py +0 -0
  318. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/compiled_sql/mssql.py +0 -0
  319. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/compiled_sql/v1.py +0 -0
  320. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/dtype_codec.py +0 -0
  321. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/README.md +0 -0
  322. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/__init__.py +0 -0
  323. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/bounded_reader.py +0 -0
  324. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/data_sources/README.md +0 -0
  325. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/data_sources/mssql.json +0 -0
  326. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/data_sources/mysql.json +0 -0
  327. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/data_sources/postgresql.json +0 -0
  328. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/data_sources/register.py +0 -0
  329. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/external_table.py +0 -0
  330. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/local_app/README.md +0 -0
  331. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/local_app/__init__.py +0 -0
  332. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/local_app/__main__.py +0 -0
  333. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/local_app/migrations/__init__.py +0 -0
  334. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/local_app/migrations/env.py +0 -0
  335. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/local_app/migrations/script.py.mako +0 -0
  336. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
  337. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/local_app/tables.py +0 -0
  338. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/query.py +0 -0
  339. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/quickstart.py +0 -0
  340. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/reader.py +0 -0
  341. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/scripts/__init__.py +0 -0
  342. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/scripts/setup_metatables.py +0 -0
  343. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tables.py +0 -0
  344. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/README.md +0 -0
  345. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/__init__.py +0 -0
  346. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/__main__.py +0 -0
  347. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/data/README.md +0 -0
  348. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
  349. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/frames.py +0 -0
  350. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/migrations/__init__.py +0 -0
  351. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/migrations/env.py +0 -0
  352. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/migrations/registry.py +0 -0
  353. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/migrations/script.py.mako +0 -0
  354. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/migrations/versions/__init__.py +0 -0
  355. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
  356. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
  357. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
  358. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/operations.py +0 -0
  359. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/tables.py +0 -0
  360. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/tutorial/updaters.py +0 -0
  361. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/examples/updater.py +0 -0
  362. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/future_registry.py +0 -0
  363. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/hashing.py +0 -0
  364. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/instrumentation.py +0 -0
  365. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/local_connection.py +0 -0
  366. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/local_files.py +0 -0
  367. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/local_run_logs.py +0 -0
  368. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/log_contract.py +0 -0
  369. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/__init__.py +0 -0
  370. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/alembic.py +0 -0
  371. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/connection.py +0 -0
  372. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/env.py +0 -0
  373. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/provider.py +0 -0
  374. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/registry.py +0 -0
  375. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/runner.py +0 -0
  376. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/scaffold.py +0 -0
  377. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/templates/__init__.py +0 -0
  378. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/templates/env.py.mako +0 -0
  379. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/templates/script.py.mako +0 -0
  380. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/migrations/tls.py +0 -0
  381. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/models.py +0 -0
  382. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/pydantic_metadata.py +0 -0
  383. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/run_logging.py +0 -0
  384. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/runtime.py +0 -0
  385. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/runtime_context.py +0 -0
  386. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/runtime_contract.py +0 -0
  387. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/schema_names.py +0 -0
  388. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/sdk_compat.py +0 -0
  389. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/sqlalchemy_contracts.py +0 -0
  390. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/time_index_table_refs.py +0 -0
  391. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/transfer.py +0 -0
  392. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/transfer_contract.py +0 -0
  393. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/transport.py +0 -0
  394. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/update_configuration_contract.py +0 -0
  395. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/updaters/__init__.py +0 -0
  396. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/updaters/configuration.py +0 -0
  397. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/updaters/dependencies.py +0 -0
  398. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/updaters/managers.py +0 -0
  399. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/updaters/namespacing.py +0 -0
  400. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/updaters/runner.py +0 -0
  401. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/updaters/updaters.py +0 -0
  402. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/updaters/utils.py +0 -0
  403. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/src/metatables/upload.py +0 -0
  404. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_caller_assertions.py +0 -0
  405. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_data_source_identity.py +0 -0
  406. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_development_client.py +0 -0
  407. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_hosted_environment_target.py +0 -0
  408. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_local_mode.py +0 -0
  409. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_platform_fact_cache.py +0 -0
  410. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_runtime_bootstrap.py +0 -0
  411. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_runtime_scaffold.py +0 -0
  412. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_runtime_selection.py +0 -0
  413. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_runtime_storage_binding.py +0 -0
  414. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/auth/test_source_passwords.py +0 -0
  415. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/catalog/test_catalog_foundation.py +0 -0
  416. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/catalog/test_contract_projection.py +0 -0
  417. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/catalog/test_database_config.py +0 -0
  418. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/catalog/test_index_statistics.py +0 -0
  419. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/catalog/test_migration.py +0 -0
  420. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/conftest.py +0 -0
  421. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/contracts/capabilities.json +0 -0
  422. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/contracts/client_signatures.json +0 -0
  423. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/contracts/database_operations.json +0 -0
  424. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/contracts/test_bounded_transfer.py +0 -0
  425. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/contracts/test_compiler_runtime_source.py +0 -0
  426. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/contracts/test_relation_batching.py +0 -0
  427. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/contracts/test_relation_import.py +0 -0
  428. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/contracts/test_storage_layouts.py +0 -0
  429. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/contracts/test_table_contracts.py +0 -0
  430. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/Dockerfile +0 -0
  431. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/Dockerfile.dockerignore +0 -0
  432. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/__init__.py +0 -0
  433. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/conftest.py +0 -0
  434. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/provider/__init__.py +0 -0
  435. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/provider/env.py +0 -0
  436. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/provider/versions/0001_measurement.py +0 -0
  437. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/test_api_contract.py +0 -0
  438. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/test_application_migration.py +0 -0
  439. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/test_bootstrap_recovery.py +0 -0
  440. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/test_catalog_contract.py +0 -0
  441. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/test_credential_catalog.py +0 -0
  442. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/test_physical_contract.py +0 -0
  443. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/test_relation_import.py +0 -0
  444. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/test_runtime_bootstrap.py +0 -0
  445. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/test_sql_security.py +0 -0
  446. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_backend/test_update_client.py +0 -0
  447. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_operations/test_physical_operations.py +0 -0
  448. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_operations/test_postgresql_operations.py +0 -0
  449. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/database_operations/test_runtime_and_temporal.py +0 -0
  450. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/documentation/test_project_checks.py +0 -0
  451. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_admin_installation.py +0 -0
  452. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_application_owned_migrations.py +0 -0
  453. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_catalog_outage.py +0 -0
  454. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_client_api_contract.py +0 -0
  455. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_client_api_coverage.py +0 -0
  456. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_client_migration_scaffold.py +0 -0
  457. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_client_migration_tls.py +0 -0
  458. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_client_package.py +0 -0
  459. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_client_signatures.py +0 -0
  460. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_client_value_behaviors.py +0 -0
  461. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_data_source_registry.py +0 -0
  462. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_local_actor_client_api.py +0 -0
  463. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_local_cli_workflow.py +0 -0
  464. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_local_client_selection.py +0 -0
  465. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_managed_finalize_client_api.py +0 -0
  466. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_namespaces_admin_http.py +0 -0
  467. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_public_imports.py +0 -0
  468. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_remaining_client_routes.py +0 -0
  469. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_run_graphs.py +0 -0
  470. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_run_logs.py +0 -0
  471. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_runtime_transition.py +0 -0
  472. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_runtime_upgrade.py +0 -0
  473. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_sdk_local_startup.py +0 -0
  474. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_sqlite_runtime.py +0 -0
  475. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_table_delete_client_api.py +0 -0
  476. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_table_filter_client_api.py +0 -0
  477. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_table_introspection_client_api.py +0 -0
  478. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_table_patch_client_api.py +0 -0
  479. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_table_search_document_api.py +0 -0
  480. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_table_stats_api.py +0 -0
  481. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_table_update_pipeline.py +0 -0
  482. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_table_updates_http.py +0 -0
  483. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_time_index_delete_client_api.py +0 -0
  484. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_time_index_reads_client_api.py +0 -0
  485. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_update_batch_client_api.py +0 -0
  486. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_update_chunk_insert_client_api.py +0 -0
  487. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_update_dependency_priority_client_api.py +0 -0
  488. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_update_index_statistics_client_api.py +0 -0
  489. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/e2e/test_update_registration_client_api.py +0 -0
  490. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/examples/test_documented_examples.py +0 -0
  491. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/examples/test_postgresql_examples.py +0 -0
  492. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/examples/test_setup_launch.py +0 -0
  493. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/examples/test_tutorial.py +0 -0
  494. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/integrations/test_credential_store.py +0 -0
  495. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/integrations/test_data_source_rules.py +0 -0
  496. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/integrations/test_local_data_sources.py +0 -0
  497. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/integrations/test_local_run_logs.py +0 -0
  498. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/integrations/test_postgresql_connection.py +0 -0
  499. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/integrations/test_postgresql_sql.py +0 -0
  500. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/integrations/test_postgresql_tables.py +0 -0
  501. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/integrations/test_postgresql_time_index_queries.py +0 -0
  502. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/integrations/test_source_validation.py +0 -0
  503. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/integrations/test_sqlite_operations.py +0 -0
  504. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/labels/test_labels.py +0 -0
  505. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/operations/test_create_table_operation.py +0 -0
  506. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/operations/test_create_table_postgres.py +0 -0
  507. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/operations/test_physical_operation_journal.py +0 -0
  508. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/operations/test_register_catalog.py +0 -0
  509. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/operations/test_search_documents.py +0 -0
  510. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/packaging/test_client_skills.py +0 -0
  511. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/packaging/test_dev_release_version.py +0 -0
  512. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/packaging/test_distribution_sources.py +0 -0
  513. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/packaging/test_editable_build.py +0 -0
  514. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/packaging/test_installed_distribution.py +0 -0
  515. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/permissions/test_governed_sql_scope.py +0 -0
  516. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/permissions/test_local_actor_membership.py +0 -0
  517. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/permissions/test_migration_boundary.py +0 -0
  518. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/permissions/test_namespace_grants.py +0 -0
  519. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/permissions/test_security_api.py +0 -0
  520. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/permissions/test_table_body_filter.py +0 -0
  521. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/permissions/test_table_grants.py +0 -0
  522. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/tests/permissions/test_table_queries.py +0 -0
  523. {mainsequence_metatable-0.1.8.dev11 → mainsequence_metatable-0.1.8.dev13}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: metatables-migrations
3
- description: "Create and evolve managed application tables through Alembic migration providers with the installed MetaTables Python client. Covers provider scope, scaffolding, revision authoring, client-side execution, and reservation or finalization failures. Excludes API catalog migrations, client-library implementation, API/server changes and repository tooling."
3
+ description: "Create and evolve managed application tables through Alembic migration providers with the installed MetaTables Python client. Covers provider scope and placement, scaffolding, revision authoring, client-side execution, and reservation or finalization failures. Excludes API catalog migrations, client-library implementation, API/server changes and repository tooling."
4
4
  ---
5
5
 
6
6
  # MetaTables client application migrations
@@ -55,9 +55,11 @@ are not application-provider revisions.
55
55
  1. Define the SQLAlchemy models with stable, application-prefixed physical names.
56
56
  2. Identify one provider module, migration namespace, target `MetaData`, model
57
57
  registry, and prefixed Alembic version-table binding.
58
- 3. Keep provider scope explicit. Do not scan all imported models or installed
58
+ 3. Choose a provider module name that no other installed package uses (see
59
+ [Provider placement](#provider-placement)).
60
+ 4. Keep provider scope explicit. Do not scan all imported models or installed
59
61
  packages.
60
- 4. Scaffold only when the application has no provider yet:
62
+ 5. Scaffold only when the application has no provider yet:
61
63
 
62
64
  ```bash
63
65
  metatables migrations scaffold \
@@ -65,13 +67,17 @@ are not application-provider revisions.
65
67
  --module ledger.migrations \
66
68
  --namespace ledger \
67
69
  --base ledger.tables:Base \
68
- --metadata ledger.tables:Base.metadata
70
+ --metadata ledger.tables:Base.metadata \
71
+ --alembic-version-table-name ledger__alembic_version
69
72
  ```
70
73
 
71
- 5. Edit the generated `registry.py` so it returns exactly the models owned by
74
+ Always pass `--module` and `--alembic-version-table-name`. Without them the
75
+ scaffold creates a top-level `migrations` module and the shared
76
+ `public.alembic_version` table.
77
+ 6. Edit the generated `registry.py` so it returns exactly the models owned by
72
78
  that migration stream. Scaffolding alone selects no models and creates no
73
79
  tables.
74
- 6. Create and review an Alembic revision (defaults to autogeneration):
80
+ 7. Create and review an Alembic revision (defaults to autogeneration):
75
81
 
76
82
  ```bash
77
83
  metatables migrations revision \
@@ -83,6 +89,27 @@ Use `--source-root` and `--code-repository-root` when the application does not
83
89
  use the default `src/` layout. Keep applied revisions immutable; add a new
84
90
  revision for every later schema change.
85
91
 
92
+ ## Provider placement
93
+
94
+ The application decides where its provider lives. The module name, however,
95
+ must not collide with any other package installed in the same environment. A
96
+ library's provider ships in its wheel and runs inside its consumers'
97
+ environments, next to providers from other libraries. When two packages install
98
+ the same top-level module, such as `migrations`, the later install overwrites
99
+ the earlier one's files. Imports then load the wrong provider, and Alembic reads
100
+ the wrong revisions.
101
+
102
+ - Place the provider under an import package the application owns, for example
103
+ `ledger.migrations`, or give it a name specific to the application, for example
104
+ `ledger_migrations`.
105
+ - Point `script_location` and `version_location_prefix` at that module. The
106
+ scaffold derives both from `--module`. A hand-written
107
+ `build_metatable_migration_provider` call must pass both, because the builder
108
+ defaults to `migrations:`.
109
+ - Before releasing a package that others install, list the built wheel with
110
+ `python -m zipfile -l <wheel>`. Its top-level entries must be packages the
111
+ application owns.
112
+
86
113
  ## Execute with the environment connection
87
114
 
88
115
  After verifying the intended runtime, use the application's provider reference:
@@ -132,6 +159,13 @@ Read `docs/operations/recovery-and-observability.md`.
132
159
 
133
160
  - If provider loading fails, verify the import path, model registry, metadata,
134
161
  version-table binding, and installed `metatables` version.
162
+ - If the provider loads another package's code or revisions, find the file that
163
+ its module resolves to with
164
+ `python -c "import importlib.util as u; print(u.find_spec('migrations').origin)"`,
165
+ replacing `migrations` with the provider module. A shared module name means
166
+ another install overwrote it. Move the provider as the
167
+ [legacy upgrade skill](../metatables-upgrade-legacy-app/SKILL.md) describes;
168
+ do not edit files in `site-packages`.
135
169
  - If reservation fails, compare provider scope and physical identities before
136
170
  changing code. Do not create a second catalog row for the same table.
137
171
  - If Alembic succeeds but finalization fails, physical DDL may already be
@@ -145,6 +179,6 @@ Read `docs/operations/recovery-and-observability.md`.
145
179
 
146
180
  ## Validation
147
181
 
148
- Verify provider scope, revision content, the selected environment connection,
149
- repeat execution, and final active bindings. Report separately what was checked
182
+ Verify provider scope and placement, revision content, the selected environment
183
+ connection, repeat execution, and final active bindings. Report separately what was checked
150
184
  offline and what was exercised against a configured API.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: metatables-upgrade-legacy-app
3
- description: "Upgrade consuming applications from MainSequence 8.x MetaTables or older extracted clients to the installed metatables package. Use for legacy imports, removed SQL scopes, repository compilers and application migration-provider integration. Excludes MetaTables client/API implementation and ordinary schema revision authoring."
3
+ description: "Upgrade consuming applications from MainSequence 8.x MetaTables or older extracted clients to the installed metatables package. Use for legacy imports, removed SQL scopes, repository compilers, application migration-provider integration and provider modules that collide with other installed packages. Excludes MetaTables client/API implementation and ordinary schema revision authoring."
4
4
  ---
5
5
 
6
6
  # Upgrade a legacy MetaTables application
@@ -58,11 +58,33 @@ Read `docs/client/query-and-mutate.md` for current query behavior and
58
58
 
59
59
  ## Upgrade application migration integration
60
60
 
61
- Keep the existing provider package, namespace, model registry, version-table
62
- binding and applied revision history. Update bootstrap/import wiring to the
63
- installed client's public migration interfaces. Do not scaffold a replacement
61
+ Keep the existing provider `package=` value, namespace, model registry,
62
+ version-table binding and applied revision history. Update bootstrap/import wiring
63
+ to the installed client's public migration interfaces. Do not scaffold a replacement
64
64
  provider, rewrite applied history or stamp the database to bypass an upgrade issue.
65
65
 
66
+ ### Move a provider whose module name collides
67
+
68
+ A provider installed under a generic top-level module, such as `migrations`,
69
+ shares files and imports with every other installed package that chose the same
70
+ name. Move it under a module the application owns, for example `ledger.migrations`
71
+ or `ledger_migrations`:
72
+
73
+ - Move the provider package with its `env.py`, `script.py.mako` and `versions/`
74
+ tree.
75
+ - Update `script_location`, `version_location_prefix`, the `env.py` import,
76
+ imports inside the provider, packaging configuration, and every provider
77
+ reference in code, scripts and jobs.
78
+ - Keep `package=`, `migration_namespace`, the version-table binding and the
79
+ revision files unchanged. The catalog binds provider tables to
80
+ `package:namespace` and rejects a reservation from a different key. Alembic
81
+ stores only revision IDs, so the module path can change.
82
+ - Do not ship a module under the old name. A forwarding module would keep the
83
+ file collision.
84
+
85
+ Then confirm that `migrations current` reports the same revision as before the
86
+ move, and that the built wheel no longer installs the old top-level name.
87
+
66
88
  Providers load in the application process from Python references such as
67
89
  `ledger.migrations:migration`. The client executes Alembic with the environment
68
90
  connection; the API handles authorization, reservations and finalization. The
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence-metatable
3
- Version: 0.1.8.dev11
3
+ Version: 0.1.8.dev13
4
4
  Summary: Main Sequence MetaTables Python client and standalone API
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: MIT
@@ -40,7 +40,11 @@ The Job, `jobs/migrate_system.py`, runs `metatables runtime upgrade`:
40
40
  verification. A runtime already at the current revision is left untouched.
41
41
 
42
42
  The command acts only on an active runtime. With no API deployment or no active
43
- runtime yet, it succeeds without DDL. A non-admin identity or an unreadable
43
+ runtime yet, it succeeds without DDL. The Environment's DataSource is set
44
+ through the deployed API, so if it is set the command migrates when necessary;
45
+ if it is not, it skips migrations and the API deploys. An API release that the
46
+ workflow created but has never deployed counts as no API deployment, so the
47
+ first run deploys the API. A non-admin identity or an unreadable
44
48
  context fails before DDL. When it registers the runtime DataSource, it records
45
49
  the Job identity's user UID as the creator.
46
50
 
@@ -34,7 +34,8 @@ metatables migrations scaffold \
34
34
  --module ledger.migrations \
35
35
  --namespace ledger \
36
36
  --base ledger.tables:Base \
37
- --metadata ledger.tables:Base.metadata
37
+ --metadata ledger.tables:Base.metadata \
38
+ --alembic-version-table-name ledger__alembic_version
38
39
  ```
39
40
 
40
41
  The scaffold creates a provider, model registry, Alembic environment, revision
@@ -43,6 +44,24 @@ template, and versions directory under the chosen source root. Edit its
43
44
  creation alone does not select all imported models or migrate a database.
44
45
  Use `--source-root` and `--code-repository-root` if your layout differs from `src/`.
45
46
 
47
+ ### Provider placement
48
+
49
+ Where the provider lives is the application's choice. Its module name, however,
50
+ must be unique in every environment that installs the package. A library's
51
+ provider ships in its wheel and runs next to providers from other libraries. If
52
+ two packages install the same top-level module, such as `migrations`, the later
53
+ install overwrites the earlier one's files and imports load the wrong provider.
54
+ Pass `--module` with a module the application owns, such as `ledger.migrations`
55
+ or `ledger_migrations`. Without it, the scaffold creates a top-level `migrations`
56
+ module. A hand-written `build_metatable_migration_provider` call must set
57
+ `script_location` and `version_location_prefix` to that module, because both
58
+ default to `migrations:`. Before releasing, list the built wheel with
59
+ `python -m zipfile -l <wheel>` and check that every top-level entry belongs to the
60
+ application.
61
+
62
+ Pass `--alembic-version-table-name` as well. The default `public.alembic_version`
63
+ would be shared by every provider on the same DataSource that keeps the default.
64
+
46
65
  ## Author and execute in the application
47
66
 
48
67
  Use the same Python provider reference for authoring and execution:
@@ -135,9 +135,20 @@ See [query and mutate](query-and-mutate.md) for engine-specific behavior.
135
135
 
136
136
  Application providers and Alembic execution belong to the application. Update
137
137
  provider/bootstrap imports to the target client's public migration interfaces,
138
- and retain the existing provider package, namespace, model registry, version-table
139
- binding, revision IDs and applied history. Do not scaffold a replacement provider
140
- or stamp an existing database merely to make the upgrade pass.
138
+ and retain the existing provider `package=` value, namespace, model registry,
139
+ version-table binding, revision IDs and applied history. Do not scaffold a
140
+ replacement provider or stamp an existing database merely to make the upgrade pass.
141
+
142
+ If the provider is installed under a generic top-level module such as
143
+ `migrations`, move it under a module the application owns. Other installed
144
+ packages that use the same name overwrite its files. Move the package with its
145
+ `env.py`, `script.py.mako` and `versions/` tree. Update `script_location`,
146
+ `version_location_prefix`, the imports, the packaging configuration and every
147
+ provider reference. Keep `package=`, `migration_namespace`, the version-table
148
+ binding and the revision files unchanged. The catalog binds provider tables to
149
+ `package:namespace` and rejects a reservation from a different key. Alembic
150
+ stores only revision IDs, so the module path can change. Do not ship a
151
+ forwarding module under the old name, because it would keep the file collision.
141
152
 
142
153
  The application loads its provider locally. The API handles authorization,
143
154
  reservations, connection resolution and finalization. The client runs Alembic
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mainsequence-metatable"
7
- version = "0.1.8.dev11"
7
+ version = "0.1.8.dev13"
8
8
  description = "Main Sequence MetaTables Python client and standalone API"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence-metatable
3
- Version: 0.1.8.dev11
3
+ Version: 0.1.8.dev13
4
4
  Summary: Main Sequence MetaTables Python client and standalone API
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: MIT
@@ -153,6 +153,13 @@ def _release_access(release, *, timeout: float = 30.0):
153
153
  _validate_url(access["rpc_url"])
154
154
  return access
155
155
  if admission.state != "waking":
156
+ if result.routing.active_revision_uid is None:
157
+ # The deployment workflow creates the release before its first
158
+ # rollout. The runtime DataSource is set through a deployed
159
+ # API's Settings, so a release that never served has none yet.
160
+ raise ApiNotDeployedError(
161
+ "The MetaTables API has not been deployed in this Environment yet, "
162
+ "so no runtime DataSource has been set.")
156
163
  raise ApiResolutionError("MetaTables deployment is unavailable; check its deployment status.")
157
164
  delay = max(0.05, (admission.retry_after_ms or 250) / 1000)
158
165
  time.sleep(min(delay, max(0, deadline - time.monotonic())))
@@ -45,7 +45,7 @@ def platform(monkeypatch):
45
45
  branches = {"api-branch": "development"}
46
46
  access = SimpleNamespace(
47
47
  resource_release_uid=release.uid, release_kind="fastapi",
48
- routing=SimpleNamespace(state="routable"),
48
+ routing=SimpleNamespace(state="routable", active_revision_uid="revision-uid"),
49
49
  runtime_access=SimpleNamespace(state="ready", can_request=True, retry_after_ms=None),
50
50
  access={"rpc_url": "https://release.test/api/", "mode": "token", "token": "release-credential"},
51
51
  )
@@ -303,6 +303,27 @@ def test_unavailable_and_mismatched_release_are_not_cached(platform):
303
303
  endpoint.get_api_url()
304
304
 
305
305
 
306
+ def test_release_that_never_served_is_not_deployed(platform):
307
+ # The deployment workflow creates the release before its first rollout.
308
+ platform.access.runtime_access.state = "unavailable"
309
+ platform.access.routing = SimpleNamespace(state="unavailable", active_revision_uid=None)
310
+ with pytest.raises(endpoint.ApiNotDeployedError, match="no runtime DataSource has been set"):
311
+ endpoint.get_api_url()
312
+
313
+
314
+ def test_upgrade_skips_without_ddl_before_the_first_rollout(platform, monkeypatch):
315
+ import metatables.api.app.bootstrap as bootstrap
316
+ from metatables.cli import app as cli
317
+
318
+ platform.access.runtime_access.state = "unavailable"
319
+ platform.access.routing = SimpleNamespace(state="unavailable", active_revision_uid=None)
320
+ monkeypatch.setattr(bootstrap, "upgrade_selected_runtime",
321
+ lambda *_: pytest.fail("the upgrade must not touch the database"))
322
+ result = cli._upgrade_runtime()
323
+ assert result["status"] == "skipped"
324
+ assert "no runtime DataSource has been set" in result["reason"]
325
+
326
+
306
327
  def test_waking_respects_retry_hint_and_does_not_repeat_name_lookup(platform, monkeypatch):
307
328
  platform.access.runtime_access.state = 'waking'
308
329
  platform.access.runtime_access.retry_after_ms = 500