mainsequence 8.0.2__tar.gz → 8.0.3__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-8.0.2/mainsequence.egg-info → mainsequence-8.0.3}/PKG-INFO +1 -1
  2. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/models_foundry.py +7 -0
  3. {mainsequence-8.0.2 → mainsequence-8.0.3/mainsequence.egg-info}/PKG-INFO +1 -1
  4. {mainsequence-8.0.2 → mainsequence-8.0.3}/pyproject.toml +1 -1
  5. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_code_repository_branch_contract.py +8 -1
  6. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_code_repository_runtime_context.py +2 -0
  7. {mainsequence-8.0.2 → mainsequence-8.0.3}/LICENSE +0 -0
  8. {mainsequence-8.0.2 → mainsequence-8.0.3}/MANIFEST.in +0 -0
  9. {mainsequence-8.0.2 → mainsequence-8.0.3}/README.md +0 -0
  10. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/AGENTS.md +0 -0
  11. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/a2a_sdk_execution/SKILL.md +0 -0
  12. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
  13. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/data_access/exploration/SKILL.md +0 -0
  14. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/data_publishing/meta_table_migrations/SKILL.md +0 -0
  15. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/data_publishing/meta_tables/SKILL.md +0 -0
  16. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/data_publishing/time_index_table_updates/SKILL.md +0 -0
  17. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
  18. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/maintenance/code_repository_maintenance/SKILL.md +0 -0
  19. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
  20. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +0 -0
  21. {mainsequence-8.0.2 → mainsequence-8.0.3}/agent_scaffold/skills/sdk_code_repository_execution/SKILL.md +0 -0
  22. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/__init__.py +0 -0
  23. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/__main__.py +0 -0
  24. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/bootstrap.py +0 -0
  25. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/__init__.py +0 -0
  26. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/api.py +0 -0
  27. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/browser_auth.py +0 -0
  28. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/cli.py +0 -0
  29. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/code_repository_status.py +0 -0
  30. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/config.py +0 -0
  31. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/docker_utils.py +0 -0
  32. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/doctor.py +0 -0
  33. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/local_ops.py +0 -0
  34. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/migrations.py +0 -0
  35. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/model_filters.py +0 -0
  36. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/pydantic_cli.py +0 -0
  37. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/sdk_utils.py +0 -0
  38. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/ssh_utils.py +0 -0
  39. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/cli/ui.py +0 -0
  40. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/__init__.py +0 -0
  41. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/agent_runtime_models.py +0 -0
  42. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/base.py +0 -0
  43. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/client.py +0 -0
  44. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/compute_validation.py +0 -0
  45. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
  46. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
  47. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/data_sources_interfaces/local_paths.py +0 -0
  48. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/data_sources_interfaces/sqlite.py +0 -0
  49. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/dtype_codec.py +0 -0
  50. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/exceptions.py +0 -0
  51. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/metatables/__init__.py +0 -0
  52. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/metatables/core.py +0 -0
  53. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/models_helpers.py +0 -0
  54. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/models_user.py +0 -0
  55. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/observability.py +0 -0
  56. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/client/utils.py +0 -0
  57. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/code_repository_context.py +0 -0
  58. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/code_repository_skills.py +0 -0
  59. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/defaults.py +0 -0
  60. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/instrumentation/__init__.py +0 -0
  61. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/instrumentation/utils.py +0 -0
  62. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/logconf.py +0 -0
  63. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/__init__.py +0 -0
  64. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/__main__.py +0 -0
  65. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/compiled_sql/__init__.py +0 -0
  66. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/compiled_sql/v1.py +0 -0
  67. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/future_registry.py +0 -0
  68. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/hashing.py +0 -0
  69. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/migrations/__init__.py +0 -0
  70. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/migrations/alembic.py +0 -0
  71. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/migrations/env.py +0 -0
  72. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/migrations/provider.py +0 -0
  73. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/migrations/registry.py +0 -0
  74. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/migrations/scaffold.py +0 -0
  75. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/migrations/templates/__init__.py +0 -0
  76. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/migrations/templates/env.py.mako +0 -0
  77. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/migrations/templates/script.py.mako +0 -0
  78. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/pydantic_metadata.py +0 -0
  79. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/schema_names.py +0 -0
  80. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/sqlalchemy_contracts.py +0 -0
  81. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/time_index_table_refs.py +0 -0
  82. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/time_index_table_updates/__init__.py +0 -0
  83. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/time_index_table_updates/configuration.py +0 -0
  84. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/time_index_table_updates/dependencies.py +0 -0
  85. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/time_index_table_updates/managers.py +0 -0
  86. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/time_index_table_updates/namespacing.py +0 -0
  87. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/time_index_table_updates/runner.py +0 -0
  88. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/time_index_table_updates/updaters.py +0 -0
  89. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/meta_tables/time_index_table_updates/utils.py +0 -0
  90. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/repository_identity_security.py +0 -0
  91. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/runtime_flags.py +0 -0
  92. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence/scaffold_skills.py +0 -0
  93. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence.egg-info/SOURCES.txt +0 -0
  94. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence.egg-info/dependency_links.txt +0 -0
  95. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence.egg-info/entry_points.txt +0 -0
  96. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence.egg-info/requires.txt +0 -0
  97. {mainsequence-8.0.2 → mainsequence-8.0.3}/mainsequence.egg-info/top_level.txt +0 -0
  98. {mainsequence-8.0.2 → mainsequence-8.0.3}/setup.cfg +0 -0
  99. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/fixtures/time_index_table_update_hash_v2_golden.json +0 -0
  100. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_auth_precedence.py +0 -0
  101. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_canonical_api_route_contract.py +0 -0
  102. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_cli.py +0 -0
  103. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_cli_browser_auth.py +0 -0
  104. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_cli_migrations.py +0 -0
  105. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_client.py +0 -0
  106. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_code_repository_batch_jobs_from_file.py +0 -0
  107. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_code_repository_skills.py +0 -0
  108. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_dependency_extras.py +0 -0
  109. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_duckdb_interface_dimensions.py +0 -0
  110. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_environment_resource_context.py +0 -0
  111. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_environment_response_contracts.py +0 -0
  112. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_filter_normalization.py +0 -0
  113. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_instrumentation.py +0 -0
  114. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_local_ops.py +0 -0
  115. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_logconf.py +0 -0
  116. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_meta_table_migrations.py +0 -0
  117. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_meta_tables_client_models.py +0 -0
  118. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_meta_tables_sqlalchemy_contracts.py +0 -0
  119. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_models_user_request_bound_auth.py +0 -0
  120. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_notification_uid_contract.py +0 -0
  121. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_observability_client.py +0 -0
  122. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_pod_project_resolution.py +0 -0
  123. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_scaffold_skills.py +0 -0
  124. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_scheduler_client_model.py +0 -0
  125. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_schema_names.py +0 -0
  126. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_secret_client_model.py +0 -0
  127. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_source_table_configuration.py +0 -0
  128. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_sqlite_interface_dimensions.py +0 -0
  129. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_ssh_utils.py +0 -0
  130. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_time_index_table_access_dimension_audit.py +0 -0
  131. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_time_index_table_dimension_queries.py +0 -0
  132. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_time_index_table_update_configuration.py +0 -0
  133. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_time_index_table_update_configuration_client.py +0 -0
  134. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_time_index_table_update_flow.py +0 -0
  135. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_time_index_table_update_hard_cut.py +0 -0
  136. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_update_runner_uid_runtime.py +0 -0
  137. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_update_statistics.py +0 -0
  138. {mainsequence-8.0.2 → mainsequence-8.0.3}/tests/test_update_uid_guards.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 8.0.2
3
+ Version: 8.0.3
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: LicenseRef-MainSequence-Proprietary
@@ -503,6 +503,13 @@ class CodeRepositoryBranch(BasePydanticModel, BaseObjectOrm):
503
503
  uid: str
504
504
  code_repository_uid: str
505
505
  code_repository_name: str
506
+ code_repository_type: str = Field(
507
+ ...,
508
+ description=(
509
+ "Read-only projection of the immutable type owned by the parent "
510
+ "CodeRepository."
511
+ ),
512
+ )
506
513
  repository_branch: str
507
514
  metatables_data_source: _DataSource | None = None
508
515
  metatables_data_source_uid: str | None = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 8.0.2
3
+ Version: 8.0.3
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: LicenseRef-MainSequence-Proprietary
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mainsequence"
7
- version = "8.0.2"
7
+ version = "8.0.3"
8
8
  description = "Main Sequence SDK "
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"
@@ -35,6 +35,7 @@ def code_repository_branch_payload() -> dict:
35
35
  "uid": CODE_REPOSITORY_BRANCH_UID,
36
36
  "code_repository_uid": CODE_REPOSITORY_UID,
37
37
  "code_repository_name": "Analytics",
38
+ "code_repository_type": "python",
38
39
  "repository_branch": "main",
39
40
  "metatables_data_source": None,
40
41
  "metatables_data_source_uid": None,
@@ -70,6 +71,7 @@ def test_code_repository_is_only_the_logical_aggregate_contract():
70
71
  assert code_repository.primary_language == "python"
71
72
  assert code_repository.framework == "mainsequence"
72
73
  assert code_repository.branches[0].uid == CODE_REPOSITORY_BRANCH_UID
74
+ assert not hasattr(code_repository.branches[0], "code_repository_type")
73
75
  assert not hasattr(code_repository, "repository_branch")
74
76
 
75
77
  with pytest.raises(ValidationError):
@@ -107,16 +109,21 @@ def test_code_repository_branch_owns_branch_configuration():
107
109
  branch = models_foundry.CodeRepositoryBranch(**code_repository_branch_payload())
108
110
 
109
111
  assert branch.code_repository_uid == CODE_REPOSITORY_UID
112
+ assert branch.code_repository_type == "python"
110
113
  assert branch.repository_branch == "main"
111
114
  assert branch.default_base_image.uid == "61111111-1111-4111-8111-111111111111"
112
115
  assert branch.organization_environment_uid is None
113
116
  assert branch.organization_environment_name is None
114
- assert not hasattr(branch, "code_repository_type")
115
117
  assert not hasattr(branch, "primary_language")
116
118
  assert not hasattr(branch, "framework")
117
119
  assert not hasattr(branch, "git_ssh_url")
118
120
  assert not hasattr(branch, "labels")
119
121
 
122
+ payload = code_repository_branch_payload()
123
+ payload.pop("code_repository_type")
124
+ with pytest.raises(ValidationError):
125
+ models_foundry.CodeRepositoryBranch(**payload)
126
+
120
127
 
121
128
  def test_github_repository_binding_is_a_separate_registry_contract():
122
129
  repository = models_foundry.GitHubRepositoryBinding(
@@ -186,6 +186,7 @@ def test_code_repository_branch_git_context_uses_canonical_backend_action(monkey
186
186
  "uid": CODE_REPOSITORY_BRANCH_UID,
187
187
  "code_repository_uid": CODE_REPOSITORY_UID,
188
188
  "code_repository_name": "Example CodeRepository",
189
+ "code_repository_type": "python",
189
190
  "repository_branch": "main",
190
191
  "metatables_data_source": None,
191
192
  "metatables_data_source_uid": None,
@@ -224,6 +225,7 @@ def test_code_repository_branch_git_context_uses_canonical_backend_action(monkey
224
225
  "commit_sha": COMMIT_SHA,
225
226
  }
226
227
  assert resolution.code_repository_branch.uid == CODE_REPOSITORY_BRANCH_UID
228
+ assert resolution.code_repository_branch.code_repository_type == "python"
227
229
 
228
230
 
229
231
  def test_context_resolves_once_and_returns_identical_snapshot(monkeypatch):
File without changes
File without changes
File without changes
File without changes