mainsequence 4.4.0__tar.gz → 4.4.2__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 (138) hide show
  1. {mainsequence-4.4.0/mainsequence.egg-info → mainsequence-4.4.2}/PKG-INFO +1 -1
  2. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/metatables/core.py +8 -0
  3. {mainsequence-4.4.0 → mainsequence-4.4.2/mainsequence.egg-info}/PKG-INFO +1 -1
  4. {mainsequence-4.4.0 → mainsequence-4.4.2}/pyproject.toml +1 -1
  5. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_meta_tables_client_models.py +23 -2
  6. {mainsequence-4.4.0 → mainsequence-4.4.2}/LICENSE +0 -0
  7. {mainsequence-4.4.0 → mainsequence-4.4.2}/README.md +0 -0
  8. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/AGENTS.md +0 -0
  9. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/a2a_communication/SKILL.md +0 -0
  10. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
  11. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/command_center/adapter_from_api/SKILL.md +0 -0
  12. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/command_center/api_mock_prototyping/SKILL.md +0 -0
  13. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/command_center/app_components/SKILL.md +0 -0
  14. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/command_center/connections/SKILL.md +0 -0
  15. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/command_center/workspace_analysis/SKILL.md +0 -0
  16. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/command_center/workspace_builder/SKILL.md +0 -0
  17. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/command_center/workspace_design/SKILL.md +0 -0
  18. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/dashboards/streamlit/SKILL.md +0 -0
  19. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/data_access/exploration/SKILL.md +0 -0
  20. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/data_publishing/data_nodes/SKILL.md +0 -0
  21. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/data_publishing/meta_table_migrations/SKILL.md +0 -0
  22. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/data_publishing/meta_tables/SKILL.md +0 -0
  23. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
  24. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/ms-markets/SKILL.md +0 -0
  25. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
  26. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +0 -0
  27. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/project_builder/SKILL.md +0 -0
  28. {mainsequence-4.4.0 → mainsequence-4.4.2}/agent_scaffold/skills/project_to_agent/SKILL.md +0 -0
  29. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/__init__.py +0 -0
  30. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/__main__.py +0 -0
  31. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/bootstrap.py +0 -0
  32. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/__init__.py +0 -0
  33. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/api.py +0 -0
  34. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/browser_auth.py +0 -0
  35. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/cli.py +0 -0
  36. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/config.py +0 -0
  37. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/docker_utils.py +0 -0
  38. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/doctor.py +0 -0
  39. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/local_ops.py +0 -0
  40. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/migrations.py +0 -0
  41. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/model_filters.py +0 -0
  42. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/project_status.py +0 -0
  43. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/pydantic_cli.py +0 -0
  44. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/sdk_utils.py +0 -0
  45. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/ssh_utils.py +0 -0
  46. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/cli/ui.py +0 -0
  47. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/__init__.py +0 -0
  48. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/agent_runtime_models.py +0 -0
  49. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/base.py +0 -0
  50. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/client.py +0 -0
  51. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/command_center/__init__.py +0 -0
  52. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/command_center/app_component.py +0 -0
  53. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/command_center/connections.py +0 -0
  54. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/command_center/data_models.py +0 -0
  55. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/command_center/workspace.py +0 -0
  56. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/command_center/workspace_snapshot.py +0 -0
  57. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/compute_validation.py +0 -0
  58. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
  59. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
  60. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/data_sources_interfaces/local_paths.py +0 -0
  61. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/data_sources_interfaces/sqlite.py +0 -0
  62. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/dtype_codec.py +0 -0
  63. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/exceptions.py +0 -0
  64. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/fastapi/__init__.py +0 -0
  65. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/fastapi/auth.py +0 -0
  66. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/metatables/__init__.py +0 -0
  67. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/models_foundry.py +0 -0
  68. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/models_helpers.py +0 -0
  69. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/models_user.py +0 -0
  70. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/client/utils.py +0 -0
  71. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/defaults.py +0 -0
  72. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/instrumentation/__init__.py +0 -0
  73. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/instrumentation/utils.py +0 -0
  74. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/logconf.py +0 -0
  75. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/__init__.py +0 -0
  76. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/__main__.py +0 -0
  77. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/compiled_sql/__init__.py +0 -0
  78. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/compiled_sql/v1.py +0 -0
  79. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/data_nodes/__init__.py +0 -0
  80. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/data_nodes/build_operations.py +0 -0
  81. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/data_nodes/data_nodes.py +0 -0
  82. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/data_nodes/models.py +0 -0
  83. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/data_nodes/namespacing.py +0 -0
  84. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/data_nodes/persist_managers.py +0 -0
  85. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/data_nodes/run_operations.py +0 -0
  86. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/data_nodes/utils.py +0 -0
  87. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/future_registry.py +0 -0
  88. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/hashing.py +0 -0
  89. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/migrations/__init__.py +0 -0
  90. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/migrations/alembic.py +0 -0
  91. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/migrations/env.py +0 -0
  92. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/migrations/provider.py +0 -0
  93. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/migrations/registry.py +0 -0
  94. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/migrations/scaffold.py +0 -0
  95. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/migrations/templates/__init__.py +0 -0
  96. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/migrations/templates/env.py.mako +0 -0
  97. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/migrations/templates/script.py.mako +0 -0
  98. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/pydantic_metadata.py +0 -0
  99. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/schema_names.py +0 -0
  100. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/meta_tables/sqlalchemy_contracts.py +0 -0
  101. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence/runtime_flags.py +0 -0
  102. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence.egg-info/SOURCES.txt +0 -0
  103. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence.egg-info/dependency_links.txt +0 -0
  104. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence.egg-info/entry_points.txt +0 -0
  105. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence.egg-info/requires.txt +0 -0
  106. {mainsequence-4.4.0 → mainsequence-4.4.2}/mainsequence.egg-info/top_level.txt +0 -0
  107. {mainsequence-4.4.0 → mainsequence-4.4.2}/setup.cfg +0 -0
  108. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_auth_precedence.py +0 -0
  109. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_build_operations_hashing.py +0 -0
  110. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_cli.py +0 -0
  111. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_cli_browser_auth.py +0 -0
  112. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_cli_migrations.py +0 -0
  113. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_client.py +0 -0
  114. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_command_center_app_component_models.py +0 -0
  115. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_command_center_data_models.py +0 -0
  116. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_command_center_models.py +0 -0
  117. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_data_access_mixin_dimension_audit.py +0 -0
  118. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_data_node_storage_dimension_queries.py +0 -0
  119. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_data_node_update_flow.py +0 -0
  120. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_dependency_extras.py +0 -0
  121. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_duckdb_interface_dimensions.py +0 -0
  122. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_filter_normalization.py +0 -0
  123. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_instrumentation.py +0 -0
  124. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_logconf.py +0 -0
  125. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_meta_table_migrations.py +0 -0
  126. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_meta_tables_sqlalchemy_contracts.py +0 -0
  127. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_models_user_request_bound_auth.py +0 -0
  128. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_pod_project_resolution.py +0 -0
  129. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_project_batch_jobs_from_file.py +0 -0
  130. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_run_configuration.py +0 -0
  131. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_schema_names.py +0 -0
  132. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_secret_client_model.py +0 -0
  133. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_source_table_configuration.py +0 -0
  134. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_sqlite_interface_dimensions.py +0 -0
  135. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_update_runner_uid_runtime.py +0 -0
  136. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_update_statistics.py +0 -0
  137. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_update_uid_guards.py +0 -0
  138. {mainsequence-4.4.0 → mainsequence-4.4.2}/tests/test_workspace_snapshot.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 4.4.0
3
+ Version: 4.4.2
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License: MainSequence GmbH SDK License Agreement
@@ -408,6 +408,10 @@ class MetaTableForeignKeyPayload(BasePydanticModel):
408
408
  None,
409
409
  description="Public UID of the target MetaTable.",
410
410
  )
411
+ target_table_physical_table_name: str | None = Field(
412
+ None,
413
+ description="Physical table name of the target MetaTable.",
414
+ )
411
415
  target_columns: list[str] = Field(
412
416
  default_factory=list,
413
417
  description="Target MetaTable physical column names.",
@@ -731,6 +735,10 @@ class ManagedMetaTableFinalizeTableResult(BasePydanticModel):
731
735
  ...,
732
736
  description="Whether the backend found the physical table during reconciliation.",
733
737
  )
738
+ deleted: bool = Field(
739
+ default=False,
740
+ description="Whether this MetaTable row was deleted during finalization cleanup.",
741
+ )
734
742
  schema_management_mode: str | None = Field(
735
743
  None,
736
744
  description="Backend schema management mode implied by the managed endpoint.",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 4.4.0
3
+ Version: 4.4.2
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License: MainSequence GmbH SDK License Agreement
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mainsequence"
7
- version = "4.4.0"
7
+ version = "4.4.2"
8
8
  description = "Main Sequence SDK "
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -247,18 +247,36 @@ def test_metatable_accepts_projection_relation_fields():
247
247
  "source_columns": ["account_uid"],
248
248
  "target_table_uid": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb",
249
249
  "target_table_storage_hash": "mt_account_hash",
250
+ "target_table_physical_table_name": "example_assets__account",
250
251
  "target_columns": ["uid"],
251
252
  "on_delete": "cascade",
252
253
  "contract_fragment": {},
253
254
  }
254
255
  ],
255
- incoming_fks=[],
256
+ incoming_fks=[
257
+ {
258
+ "name": "price_asset_uid_fkey",
259
+ "source_columns": ["asset_uid"],
260
+ "target_table_uid": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
261
+ "target_table_physical_table_name": "example_assets__asset",
262
+ "target_columns": ["uid"],
263
+ "on_delete": "restrict",
264
+ "contract_fragment": {},
265
+ }
266
+ ],
256
267
  )
257
268
  )
258
269
 
259
270
  assert meta_table.indexes_meta[0].name == "asset_symbol_idx"
260
271
  assert not hasattr(meta_table.foreign_keys[0], "target_table_storage_hash")
261
- assert meta_table.incoming_fks == []
272
+ assert (
273
+ meta_table.foreign_keys[0].target_table_physical_table_name
274
+ == "example_assets__account"
275
+ )
276
+ assert (
277
+ meta_table.incoming_fks[0].target_table_physical_table_name
278
+ == "example_assets__asset"
279
+ )
262
280
 
263
281
 
264
282
  def test_meta_table_register_posts_contract_to_meta_table_endpoint(monkeypatch):
@@ -679,6 +697,7 @@ def test_meta_table_finalize_managed_posts_finalize_payload(monkeypatch):
679
697
  "time_indexed": False,
680
698
  "finalized": True,
681
699
  "physical_table_exists": True,
700
+ "deleted": False,
682
701
  }
683
702
  ],
684
703
  }
@@ -704,6 +723,7 @@ def test_meta_table_finalize_managed_posts_finalize_payload(monkeypatch):
704
723
 
705
724
  assert response.ok is True
706
725
  assert response.tables[0].provisioning_status == "active"
726
+ assert response.tables[0].deleted is False
707
727
  assert captured["r_type"] == "POST"
708
728
  assert captured["url"].endswith("/ts_manager/meta_table/finalize-managed/")
709
729
  assert captured["payload"]["json"] == {
@@ -746,6 +766,7 @@ def test_meta_table_finalize_managed_accepts_conflict_response(monkeypatch):
746
766
  "time_indexed": False,
747
767
  "finalized": False,
748
768
  "physical_table_exists": False,
769
+ "deleted": False,
749
770
  "error": {"code": "physical_table_missing"},
750
771
  }
751
772
  ],
File without changes
File without changes
File without changes