mainsequence 3.17.4__tar.gz → 3.17.6__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 (148) hide show
  1. {mainsequence-3.17.4 → mainsequence-3.17.6}/PKG-INFO +1 -1
  2. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/models_simple_tables.py +20 -12
  3. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/models_tdag.py +20 -13
  4. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence.egg-info/PKG-INFO +1 -1
  5. {mainsequence-3.17.4 → mainsequence-3.17.6}/pyproject.toml +1 -1
  6. {mainsequence-3.17.4 → mainsequence-3.17.6}/LICENSE +0 -0
  7. {mainsequence-3.17.4 → mainsequence-3.17.6}/README.md +0 -0
  8. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/__init__.py +0 -0
  9. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/__main__.py +0 -0
  10. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/bootstrap.py +0 -0
  11. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/__init__.py +0 -0
  12. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/api.py +0 -0
  13. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/cli.py +0 -0
  14. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/config.py +0 -0
  15. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/docker_utils.py +0 -0
  16. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/doctor.py +0 -0
  17. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/local_ops.py +0 -0
  18. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/model_filters.py +0 -0
  19. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/project_status.py +0 -0
  20. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/pydantic_cli.py +0 -0
  21. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/sdk_utils.py +0 -0
  22. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/ssh_utils.py +0 -0
  23. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/cli/ui.py +0 -0
  24. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/__init__.py +0 -0
  25. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/agent.py +0 -0
  26. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/base.py +0 -0
  27. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/client.py +0 -0
  28. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
  29. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
  30. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/data_sources_interfaces/timescale.py +0 -0
  31. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/exceptions.py +0 -0
  32. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/models_helpers.py +0 -0
  33. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/models_user.py +0 -0
  34. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/models_vam.py +0 -0
  35. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/client/utils.py +0 -0
  36. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/compute_validation.py +0 -0
  37. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/custom_api/__init__.py +0 -0
  38. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/custom_api/base.py +0 -0
  39. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/custom_api/cli.py +0 -0
  40. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/__init__.py +0 -0
  41. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/__init__.py +0 -0
  42. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/assets/config.toml +0 -0
  43. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/assets/favicon.png +0 -0
  44. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/assets/image_1_base64.txt +0 -0
  45. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/assets/image_2_base64.txt +0 -0
  46. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/assets/image_3_base64.txt +0 -0
  47. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/assets/image_4_base64.txt +0 -0
  48. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/assets/image_5_base64.txt +0 -0
  49. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/assets/logo.png +0 -0
  50. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/components/__init__.py +0 -0
  51. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/components/asset_select.py +0 -0
  52. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/components/date_settings.py +0 -0
  53. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/components/logged_user.py +0 -0
  54. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/core/__init__.py +0 -0
  55. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/core/theme.py +0 -0
  56. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/instruments/__init__.py +0 -0
  57. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/instruments/streamlit_form_factory.py +0 -0
  58. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/pages/__init__.py +0 -0
  59. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/dashboards/streamlit/scaffold.py +0 -0
  60. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instrumentation/__init__.py +0 -0
  61. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instrumentation/utils.py +0 -0
  62. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/__init__.py +0 -0
  63. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/data_interface/__init__.py +0 -0
  64. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/data_interface/data_interface.py +0 -0
  65. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/instruments/__init__.py +0 -0
  66. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/instruments/base_instrument.py +0 -0
  67. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/instruments/bond.py +0 -0
  68. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/instruments/callability.py +0 -0
  69. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/instruments/interest_rate_swap.py +0 -0
  70. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/instruments/json_codec.py +0 -0
  71. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/instruments/position.py +0 -0
  72. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/instruments/ql_fields.py +0 -0
  73. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/interest_rates/__init__.py +0 -0
  74. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/interest_rates/etl/__init__.py +0 -0
  75. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/interest_rates/etl/curve_codec.py +0 -0
  76. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/interest_rates/etl/nodes.py +0 -0
  77. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/interest_rates/etl/registry.py +0 -0
  78. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/pricing_models/__init__.py +0 -0
  79. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/pricing_models/bond_pricer.py +0 -0
  80. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/pricing_models/indices.py +0 -0
  81. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/pricing_models/indices_builders.py +0 -0
  82. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/pricing_models/swap_pricer.py +0 -0
  83. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/settings.py +0 -0
  84. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/instruments/utils.py +0 -0
  85. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/logconf.py +0 -0
  86. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/runtime_flags.py +0 -0
  87. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/__init__.py +0 -0
  88. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/__main__.py +0 -0
  89. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/base_persist_managers.py +0 -0
  90. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/config.py +0 -0
  91. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/configuration_models.py +0 -0
  92. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/data_nodes/__init__.py +0 -0
  93. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/data_nodes/build_operations.py +0 -0
  94. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/data_nodes/data_nodes.py +0 -0
  95. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/data_nodes/filters.py +0 -0
  96. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/data_nodes/models.py +0 -0
  97. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/data_nodes/namespacing.py +0 -0
  98. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/data_nodes/persist_managers.py +0 -0
  99. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/data_nodes/run_operations.py +0 -0
  100. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/data_nodes/utils.py +0 -0
  101. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/filters.py +0 -0
  102. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/future_registry.py +0 -0
  103. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/pydantic_metadata.py +0 -0
  104. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/simple_tables/__init__.py +0 -0
  105. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/simple_tables/filters.py +0 -0
  106. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/simple_tables/models.py +0 -0
  107. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/simple_tables/persist_managers.py +0 -0
  108. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/simple_tables/schema.py +0 -0
  109. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/simple_tables/table_nodes.py +0 -0
  110. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/tdag/utils.py +0 -0
  111. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/__init__.py +0 -0
  112. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/__init__.py +0 -0
  113. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/data_nodes/__init__.py +0 -0
  114. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/data_nodes/external_weights.py +0 -0
  115. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/data_nodes/intraday_trend.py +0 -0
  116. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/data_nodes/market_cap.py +0 -0
  117. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/data_nodes/mock_signal.py +0 -0
  118. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/data_nodes/portfolio_replicator.py +0 -0
  119. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/prices/__init__.py +0 -0
  120. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/prices/data_nodes.py +0 -0
  121. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/prices/utils.py +0 -0
  122. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/__init__.py +0 -0
  123. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/rebalance_strategies.py +0 -0
  124. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/enums.py +0 -0
  125. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/models.py +0 -0
  126. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/portfolio_nodes.py +0 -0
  127. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/resource_factory/__init__.py +0 -0
  128. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/resource_factory/rebalance_factory.py +0 -0
  129. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/resource_factory/signal_factory.py +0 -0
  130. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence/virtualfundbuilder/utils.py +0 -0
  131. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence.egg-info/SOURCES.txt +0 -0
  132. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence.egg-info/dependency_links.txt +0 -0
  133. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence.egg-info/entry_points.txt +0 -0
  134. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence.egg-info/requires.txt +0 -0
  135. {mainsequence-3.17.4 → mainsequence-3.17.6}/mainsequence.egg-info/top_level.txt +0 -0
  136. {mainsequence-3.17.4 → mainsequence-3.17.6}/setup.cfg +0 -0
  137. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_auth_precedence.py +0 -0
  138. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_build_operations_hashing.py +0 -0
  139. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_cli.py +0 -0
  140. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_client.py +0 -0
  141. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_filter_normalization.py +0 -0
  142. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_instruments.py +0 -0
  143. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_logconf.py +0 -0
  144. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_logged_user_components.py +0 -0
  145. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_project_batch_jobs_from_file.py +0 -0
  146. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_run_configuration.py +0 -0
  147. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_simple_tables_configuration_hashing.py +0 -0
  148. {mainsequence-3.17.4 → mainsequence-3.17.6}/tests/test_simple_tables_persistence.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 3.17.4
3
+ Version: 3.17.6
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
@@ -790,19 +790,27 @@ class SimpleTableUpdate(TableUpdateNode, BaseObjectOrm):
790
790
  depth_df = pd.DataFrame(r.json())
791
791
 
792
792
  if not depth_df.empty:
793
- if "local_time_serie_id" in depth_df.columns and "data_node_update_id" in depth_df.columns:
794
- depth_df["update_node_id"] = depth_df["local_time_serie_id"].fillna(
795
- depth_df["data_node_update_id"]
793
+ id_candidates = [
794
+ c
795
+ for c in ["update_node_id", "local_time_serie_id", "data_node_update_id"]
796
+ if c in depth_df.columns
797
+ ]
798
+
799
+ if id_candidates:
800
+ update_node_id = None
801
+ for col in id_candidates:
802
+ series = depth_df[col]
803
+ if isinstance(series, pd.DataFrame):
804
+ series = series.iloc[:, 0]
805
+ update_node_id = (
806
+ series if update_node_id is None else update_node_id.fillna(series)
807
+ )
808
+
809
+ depth_df = depth_df.drop(
810
+ columns=["update_node_id", "local_time_serie_id", "data_node_update_id"],
811
+ errors="ignore",
796
812
  )
797
- elif "local_time_serie_id" in depth_df.columns:
798
- depth_df = depth_df.rename(columns={"local_time_serie_id": "update_node_id"})
799
- elif "data_node_update_id" in depth_df.columns:
800
- depth_df = depth_df.rename(columns={"data_node_update_id": "update_node_id"})
801
-
802
- depth_df = depth_df.drop(
803
- columns=["local_time_serie_id", "data_node_update_id"],
804
- errors="ignore",
805
- )
813
+ depth_df["update_node_id"] = update_node_id
806
814
 
807
815
  return depth_df
808
816
 
@@ -470,20 +470,27 @@ class DataNodeUpdate(TableUpdateNode, BaseObjectOrm):
470
470
 
471
471
  depth_df = pd.DataFrame(r.json())
472
472
  if not depth_df.empty:
473
- # Normalize legacy backend keys to the current dependency id column.
474
- if "local_time_serie_id" in depth_df.columns and "data_node_update_id" in depth_df.columns:
475
- depth_df["update_node_id"] = depth_df["local_time_serie_id"].fillna(
476
- depth_df["data_node_update_id"]
473
+ id_candidates = [
474
+ c
475
+ for c in ["update_node_id", "local_time_serie_id", "data_node_update_id"]
476
+ if c in depth_df.columns
477
+ ]
478
+
479
+ if id_candidates:
480
+ update_node_id = None
481
+ for col in id_candidates:
482
+ series = depth_df[col]
483
+ if isinstance(series, pd.DataFrame):
484
+ series = series.iloc[:, 0]
485
+ update_node_id = (
486
+ series if update_node_id is None else update_node_id.fillna(series)
487
+ )
488
+
489
+ depth_df = depth_df.drop(
490
+ columns=["update_node_id", "local_time_serie_id", "data_node_update_id"],
491
+ errors="ignore",
477
492
  )
478
- elif "local_time_serie_id" in depth_df.columns:
479
- depth_df = depth_df.rename(columns={"local_time_serie_id": "update_node_id"})
480
- elif "data_node_update_id" in depth_df.columns:
481
- depth_df = depth_df.rename(columns={"data_node_update_id": "update_node_id"})
482
-
483
- depth_df = depth_df.drop(
484
- columns=["local_time_serie_id", "data_node_update_id"],
485
- errors="ignore",
486
- )
493
+ depth_df["update_node_id"] = update_node_id
487
494
 
488
495
 
489
496
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 3.17.4
3
+ Version: 3.17.6
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 = "3.17.4"
7
+ version = "3.17.6"
8
8
  description = "Main Sequence SDK "
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
File without changes
File without changes
File without changes