mainsequence 4.3.22__tar.gz → 4.3.24__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.3.22/mainsequence.egg-info → mainsequence-4.3.24}/PKG-INFO +1 -1
  2. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/metatables/core.py +2 -2
  3. {mainsequence-4.3.22 → mainsequence-4.3.24/mainsequence.egg-info}/PKG-INFO +1 -1
  4. {mainsequence-4.3.22 → mainsequence-4.3.24}/pyproject.toml +1 -1
  5. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_meta_tables_client_models.py +68 -4
  6. {mainsequence-4.3.22 → mainsequence-4.3.24}/LICENSE +0 -0
  7. {mainsequence-4.3.22 → mainsequence-4.3.24}/README.md +0 -0
  8. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/AGENTS.md +0 -0
  9. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/a2a_communication/SKILL.md +0 -0
  10. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
  11. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/command_center/adapter_from_api/SKILL.md +0 -0
  12. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/command_center/api_mock_prototyping/SKILL.md +0 -0
  13. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/command_center/app_components/SKILL.md +0 -0
  14. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/command_center/connections/SKILL.md +0 -0
  15. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/command_center/workspace_analysis/SKILL.md +0 -0
  16. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/command_center/workspace_builder/SKILL.md +0 -0
  17. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/command_center/workspace_design/SKILL.md +0 -0
  18. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/dashboards/streamlit/SKILL.md +0 -0
  19. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/data_access/exploration/SKILL.md +0 -0
  20. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/data_publishing/data_nodes/SKILL.md +0 -0
  21. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/data_publishing/meta_table_migrations/SKILL.md +0 -0
  22. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/data_publishing/meta_tables/SKILL.md +0 -0
  23. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
  24. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/ms-markets/SKILL.md +0 -0
  25. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
  26. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +0 -0
  27. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/project_builder/SKILL.md +0 -0
  28. {mainsequence-4.3.22 → mainsequence-4.3.24}/agent_scaffold/skills/project_to_agent/SKILL.md +0 -0
  29. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/__init__.py +0 -0
  30. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/__main__.py +0 -0
  31. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/bootstrap.py +0 -0
  32. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/__init__.py +0 -0
  33. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/api.py +0 -0
  34. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/browser_auth.py +0 -0
  35. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/cli.py +0 -0
  36. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/config.py +0 -0
  37. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/docker_utils.py +0 -0
  38. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/doctor.py +0 -0
  39. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/local_ops.py +0 -0
  40. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/migrations.py +0 -0
  41. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/model_filters.py +0 -0
  42. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/project_status.py +0 -0
  43. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/pydantic_cli.py +0 -0
  44. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/sdk_utils.py +0 -0
  45. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/ssh_utils.py +0 -0
  46. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/cli/ui.py +0 -0
  47. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/__init__.py +0 -0
  48. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/agent_runtime_models.py +0 -0
  49. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/base.py +0 -0
  50. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/client.py +0 -0
  51. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/command_center/__init__.py +0 -0
  52. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/command_center/app_component.py +0 -0
  53. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/command_center/connections.py +0 -0
  54. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/command_center/data_models.py +0 -0
  55. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/command_center/workspace.py +0 -0
  56. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/command_center/workspace_snapshot.py +0 -0
  57. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/compute_validation.py +0 -0
  58. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
  59. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
  60. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/data_sources_interfaces/local_paths.py +0 -0
  61. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/data_sources_interfaces/sqlite.py +0 -0
  62. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/dtype_codec.py +0 -0
  63. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/exceptions.py +0 -0
  64. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/fastapi/__init__.py +0 -0
  65. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/fastapi/auth.py +0 -0
  66. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/metatables/__init__.py +0 -0
  67. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/models_foundry.py +0 -0
  68. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/models_helpers.py +0 -0
  69. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/models_user.py +0 -0
  70. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/client/utils.py +0 -0
  71. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/defaults.py +0 -0
  72. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/instrumentation/__init__.py +0 -0
  73. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/instrumentation/utils.py +0 -0
  74. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/logconf.py +0 -0
  75. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/__init__.py +0 -0
  76. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/__main__.py +0 -0
  77. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/compiled_sql/__init__.py +0 -0
  78. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/compiled_sql/v1.py +0 -0
  79. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/data_nodes/__init__.py +0 -0
  80. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/data_nodes/build_operations.py +0 -0
  81. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/data_nodes/data_nodes.py +0 -0
  82. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/data_nodes/models.py +0 -0
  83. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/data_nodes/namespacing.py +0 -0
  84. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/data_nodes/persist_managers.py +0 -0
  85. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/data_nodes/run_operations.py +0 -0
  86. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/data_nodes/utils.py +0 -0
  87. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/future_registry.py +0 -0
  88. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/hashing.py +0 -0
  89. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/migrations/__init__.py +0 -0
  90. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/migrations/alembic.py +0 -0
  91. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/migrations/env.py +0 -0
  92. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/migrations/provider.py +0 -0
  93. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/migrations/registry.py +0 -0
  94. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/migrations/scaffold.py +0 -0
  95. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/migrations/templates/__init__.py +0 -0
  96. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/migrations/templates/env.py.mako +0 -0
  97. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/migrations/templates/script.py.mako +0 -0
  98. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/pydantic_metadata.py +0 -0
  99. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/schema_names.py +0 -0
  100. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/meta_tables/sqlalchemy_contracts.py +0 -0
  101. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence/runtime_flags.py +0 -0
  102. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence.egg-info/SOURCES.txt +0 -0
  103. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence.egg-info/dependency_links.txt +0 -0
  104. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence.egg-info/entry_points.txt +0 -0
  105. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence.egg-info/requires.txt +0 -0
  106. {mainsequence-4.3.22 → mainsequence-4.3.24}/mainsequence.egg-info/top_level.txt +0 -0
  107. {mainsequence-4.3.22 → mainsequence-4.3.24}/setup.cfg +0 -0
  108. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_auth_precedence.py +0 -0
  109. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_build_operations_hashing.py +0 -0
  110. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_cli.py +0 -0
  111. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_cli_browser_auth.py +0 -0
  112. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_cli_migrations.py +0 -0
  113. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_client.py +0 -0
  114. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_command_center_app_component_models.py +0 -0
  115. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_command_center_data_models.py +0 -0
  116. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_command_center_models.py +0 -0
  117. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_data_access_mixin_dimension_audit.py +0 -0
  118. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_data_node_storage_dimension_queries.py +0 -0
  119. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_data_node_update_flow.py +0 -0
  120. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_dependency_extras.py +0 -0
  121. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_duckdb_interface_dimensions.py +0 -0
  122. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_filter_normalization.py +0 -0
  123. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_instrumentation.py +0 -0
  124. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_logconf.py +0 -0
  125. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_meta_table_migrations.py +0 -0
  126. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_meta_tables_sqlalchemy_contracts.py +0 -0
  127. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_models_user_request_bound_auth.py +0 -0
  128. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_pod_project_resolution.py +0 -0
  129. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_project_batch_jobs_from_file.py +0 -0
  130. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_run_configuration.py +0 -0
  131. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_schema_names.py +0 -0
  132. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_secret_client_model.py +0 -0
  133. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_source_table_configuration.py +0 -0
  134. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_sqlite_interface_dimensions.py +0 -0
  135. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_update_runner_uid_runtime.py +0 -0
  136. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_update_statistics.py +0 -0
  137. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_update_uid_guards.py +0 -0
  138. {mainsequence-4.3.22 → mainsequence-4.3.24}/tests/test_workspace_snapshot.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 4.3.22
3
+ Version: 4.3.24
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
@@ -500,8 +500,8 @@ class MetaTableOperationScope(BasePydanticModel):
500
500
  return self
501
501
 
502
502
 
503
- DEFAULT_META_TABLE_OPERATION_MAX_ROWS = 10_000
504
- DEFAULT_META_TABLE_OPERATION_STATEMENT_TIMEOUT_MS = 60_000
503
+ DEFAULT_META_TABLE_OPERATION_MAX_ROWS = 1_000
504
+ DEFAULT_META_TABLE_OPERATION_STATEMENT_TIMEOUT_MS = 15_000
505
505
 
506
506
 
507
507
  class MetaTableOperationLimits(BasePydanticModel):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 4.3.22
3
+ Version: 4.3.24
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.3.22"
7
+ version = "4.3.24"
8
8
  description = "Main Sequence SDK "
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -524,6 +524,70 @@ def test_meta_table_execute_operation_fetches_requested_rows_with_backend_pagina
524
524
  assert [call["limits"]["max_rows"] for call in calls] == [5, 3, 1]
525
525
 
526
526
 
527
+ def test_meta_table_execute_operation_does_not_paginate_upsert(monkeypatch):
528
+ calls = []
529
+
530
+ def fake_make_request(**kwargs):
531
+ calls.append(kwargs["payload"]["json"])
532
+ return _Response(
533
+ {
534
+ "ok": True,
535
+ "operation": "upsert",
536
+ "dialect": "postgresql",
537
+ "row_count": 1,
538
+ "rows": [{"uid": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa"}],
539
+ "truncated": True,
540
+ "max_rows": 1,
541
+ "pagination": {
542
+ "limit": 1,
543
+ "offset": 0,
544
+ "returned_count": 1,
545
+ "has_more": True,
546
+ "next_offset": 1,
547
+ },
548
+ }
549
+ )
550
+
551
+ monkeypatch.setattr(meta_table_models, "make_request", fake_make_request)
552
+ monkeypatch.setattr(
553
+ meta_table_models.MetaTable,
554
+ "build_session",
555
+ classmethod(lambda cls: SimpleNamespace(headers={})),
556
+ )
557
+
558
+ result = meta_table_models.MetaTable.execute_operation(
559
+ {
560
+ "operation": "upsert",
561
+ "statement": {
562
+ "sql": (
563
+ "INSERT INTO public.asset (uid) VALUES (%(uid)s::UUID) "
564
+ "ON CONFLICT (uid) DO UPDATE SET uid = %(uid)s::UUID "
565
+ "RETURNING uid"
566
+ ),
567
+ "parameters": {"uid": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa"},
568
+ },
569
+ "scope": {
570
+ "data_source_uid": "dddddddd-dddd-4ddd-8ddd-dddddddddddd",
571
+ "tables": [
572
+ {
573
+ "meta_table_uid": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
574
+ "alias": "asset",
575
+ "access": "write",
576
+ }
577
+ ],
578
+ },
579
+ "limits": {
580
+ "max_rows": 1,
581
+ "statement_timeout_ms": 15000,
582
+ },
583
+ }
584
+ )
585
+
586
+ assert result["operation"] == "upsert"
587
+ assert len(calls) == 1
588
+ assert calls[0]["limits"]["offset"] == 0
589
+
590
+
527
591
  def test_dynamic_table_data_source_issue_migration_connection_posts_scope(monkeypatch):
528
592
  captured = {}
529
593
 
@@ -855,13 +919,13 @@ def test_compiled_sql_v1_operation_uses_backend_limit_defaults():
855
919
  },
856
920
  )
857
921
 
858
- assert operation.limits.max_rows == 10_000
922
+ assert operation.limits.max_rows == 1_000
859
923
  assert operation.limits.offset == 0
860
- assert operation.limits.statement_timeout_ms == 60_000
924
+ assert operation.limits.statement_timeout_ms == 15_000
861
925
  assert meta_table_models._payload_json(operation)["limits"] == {
862
- "max_rows": 10_000,
926
+ "max_rows": 1_000,
863
927
  "offset": 0,
864
- "statement_timeout_ms": 60_000,
928
+ "statement_timeout_ms": 15_000,
865
929
  }
866
930
 
867
931
 
File without changes
File without changes
File without changes