mainsequence 3.3.11__tar.gz → 3.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 (125) hide show
  1. {mainsequence-3.3.11 → mainsequence-3.4.2}/PKG-INFO +37 -3
  2. {mainsequence-3.3.11 → mainsequence-3.4.2}/README.md +36 -2
  3. {mainsequence-3.3.11/mainsequence/reportbuilder → mainsequence-3.4.2/mainsequence/tdag}/__main__.py +0 -0
  4. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/tdag/data_nodes/run_operations.py +9 -11
  5. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence.egg-info/PKG-INFO +37 -3
  6. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence.egg-info/SOURCES.txt +0 -5
  7. {mainsequence-3.3.11 → mainsequence-3.4.2}/pyproject.toml +1 -1
  8. mainsequence-3.3.11/mainsequence/reportbuilder/examples/ms_template_report.py +0 -1359
  9. mainsequence-3.3.11/mainsequence/reportbuilder/model.py +0 -749
  10. mainsequence-3.3.11/mainsequence/reportbuilder/slide_templates.py +0 -541
  11. mainsequence-3.3.11/mainsequence/tdag/__main__.py +0 -0
  12. mainsequence-3.3.11/mainsequence/virtualfundbuilder/resource_factory/__init__.py +0 -0
  13. {mainsequence-3.3.11 → mainsequence-3.4.2}/LICENSE +0 -0
  14. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/__init__.py +0 -0
  15. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/__main__.py +0 -0
  16. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/cli/__init__.py +0 -0
  17. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/cli/api.py +0 -0
  18. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/cli/cli.py +0 -0
  19. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/cli/config.py +0 -0
  20. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/cli/ssh_utils.py +0 -0
  21. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/__init__.py +0 -0
  22. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/base.py +0 -0
  23. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
  24. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
  25. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/data_sources_interfaces/timescale.py +0 -0
  26. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/exceptions.py +0 -0
  27. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/models_helpers.py +0 -0
  28. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/models_report_studio.py +0 -0
  29. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/models_tdag.py +0 -0
  30. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/models_vam.py +0 -0
  31. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/client/utils.py +0 -0
  32. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/__init__.py +0 -0
  33. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/__init__.py +0 -0
  34. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/assets/config.toml +0 -0
  35. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/assets/favicon.png +0 -0
  36. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/assets/image_1_base64.txt +0 -0
  37. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/assets/image_2_base64.txt +0 -0
  38. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/assets/image_3_base64.txt +0 -0
  39. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/assets/image_4_base64.txt +0 -0
  40. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/assets/image_5_base64.txt +0 -0
  41. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/assets/logo.png +0 -0
  42. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/core/__init__.py +0 -0
  43. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/core/theme.py +0 -0
  44. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/pages/__init__.py +0 -0
  45. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/dashboards/streamlit/scaffold.py +0 -0
  46. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instrumentation/__init__.py +0 -0
  47. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instrumentation/utils.py +0 -0
  48. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/__init__.py +0 -0
  49. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/data_interface/__init__.py +0 -0
  50. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/data_interface/data_interface.py +0 -0
  51. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments/__init__.py +0 -0
  52. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments/base_instrument.py +0 -0
  53. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments/bond.py +0 -0
  54. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments/european_option.py +0 -0
  55. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments/interest_rate_swap.py +0 -0
  56. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments/json_codec.py +0 -0
  57. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments/knockout_fx_option.py +0 -0
  58. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments/position.py +0 -0
  59. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments/ql_fields.py +0 -0
  60. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments/vanilla_fx_option.py +0 -0
  61. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/instruments.default.toml +0 -0
  62. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/pricing_models/__init__.py +0 -0
  63. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/pricing_models/black_scholes.py +0 -0
  64. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/pricing_models/bond_pricer.py +0 -0
  65. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/pricing_models/fx_option_pricer.py +0 -0
  66. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/pricing_models/indices.py +0 -0
  67. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/pricing_models/knockout_fx_pricer.py +0 -0
  68. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/pricing_models/swap_pricer.py +0 -0
  69. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/settings.py +0 -0
  70. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/instruments/utils.py +0 -0
  71. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/logconf.py +0 -0
  72. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/tdag/__init__.py +0 -0
  73. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/tdag/config.py +0 -0
  74. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/tdag/data_nodes/__init__.py +0 -0
  75. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/tdag/data_nodes/build_operations.py +0 -0
  76. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/tdag/data_nodes/data_nodes.py +0 -0
  77. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/tdag/data_nodes/persist_managers.py +0 -0
  78. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/tdag/data_nodes/utils.py +0 -0
  79. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/tdag/future_registry.py +0 -0
  80. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/tdag/utils.py +0 -0
  81. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/__init__.py +0 -0
  82. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/agent_interface.py +0 -0
  83. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/config_handling.py +0 -0
  84. {mainsequence-3.3.11/mainsequence/reportbuilder → mainsequence-3.4.2/mainsequence/virtualfundbuilder/contrib}/__init__.py +0 -0
  85. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/__init__.py +0 -0
  86. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/etf_replicator_app.py +0 -0
  87. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/generate_report.py +0 -0
  88. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/load_external_portfolio.py +0 -0
  89. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/news_app.py +0 -0
  90. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/portfolio_report_app.py +0 -0
  91. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/portfolio_table.py +0 -0
  92. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/run_named_portfolio.py +0 -0
  93. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/run_portfolio.py +0 -0
  94. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/templates/base.html +0 -0
  95. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/apps/templates/report.html +0 -0
  96. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/__init__.py +0 -0
  97. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/external_weights.py +0 -0
  98. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/intraday_trend.py +0 -0
  99. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/market_cap.py +0 -0
  100. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/mock_signal.py +0 -0
  101. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/portfolio_replicator.py +0 -0
  102. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/prices/__init__.py +0 -0
  103. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/prices/data_nodes.py +0 -0
  104. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/prices/utils.py +0 -0
  105. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/__init__.py +0 -0
  106. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/rebalance_strategies.py +0 -0
  107. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/data_nodes.py +0 -0
  108. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/enums.py +0 -0
  109. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/models.py +0 -0
  110. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/notebook_handling.py +0 -0
  111. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/portfolio_interface.py +0 -0
  112. {mainsequence-3.3.11/mainsequence/virtualfundbuilder/contrib → mainsequence-3.4.2/mainsequence/virtualfundbuilder/resource_factory}/__init__.py +0 -0
  113. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/resource_factory/app_factory.py +0 -0
  114. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/resource_factory/base_factory.py +0 -0
  115. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/resource_factory/rebalance_factory.py +0 -0
  116. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/resource_factory/signal_factory.py +0 -0
  117. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence/virtualfundbuilder/utils.py +0 -0
  118. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence.egg-info/dependency_links.txt +0 -0
  119. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence.egg-info/entry_points.txt +0 -0
  120. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence.egg-info/requires.txt +0 -0
  121. {mainsequence-3.3.11 → mainsequence-3.4.2}/mainsequence.egg-info/top_level.txt +0 -0
  122. {mainsequence-3.3.11 → mainsequence-3.4.2}/setup.cfg +0 -0
  123. {mainsequence-3.3.11 → mainsequence-3.4.2}/tests/test_agent.py +0 -0
  124. {mainsequence-3.3.11 → mainsequence-3.4.2}/tests/test_portfolio.py +0 -0
  125. {mainsequence-3.3.11 → mainsequence-3.4.2}/tests/test_replicator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 3.3.11
3
+ Version: 3.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
@@ -97,7 +97,6 @@ Dynamic: license-file
97
97
  # Main Sequence Python SDK
98
98
 
99
99
 
100
-
101
100
  The Main Sequence Python SDK is a high-performance client library that enables seamless integration with the Main Sequence platform.
102
101
  It provides a unified and intuitive interface for interacting with data, compute, and intelligence services across the platform.
103
102
 
@@ -110,8 +109,43 @@ The Main Sequence SDK is also a foundational component of all Main Sequence Plat
110
109
  It acts as the backbone for automation, process orchestration, and the rapid development of dashboards,
111
110
  data nodes, and agentic tools built on top of the platform.
112
111
 
112
+
113
113
  ---
114
114
 
115
+
116
+
117
+ ## How the Repository is Organized
118
+
119
+ The documentation follows the same structure as the SDK. Within each topic, we delve deeper into the logic and usage.
120
+
121
+ Additionally, we provide an extensive set of examples within the repository here:
122
+ [Example Repository](https://github.com/mainsequence-sdk/mainsequence-sdk/tree/main/mainsequence).
123
+
124
+ The examples section is organized by use case rather than by individual libraries.
125
+
126
+ Recordings of our previous bootcamps will be available on our YouTube channel:
127
+ [YouTube Channel](https://www.youtube.com/channel/UCHevDrKbbsoWuV4OjTHOrpA).
128
+
129
+ ### Main Sequence SDK Components
130
+
131
+ Below are the main modules that compose the Main Sequence SDK, which are importable from `mainsequence`:
132
+
133
+ 1. **TDAG:** A time-series data orchestration and scheduling tool.
134
+ 2. **Client:** The Main Sequence client for interacting with the Main Sequence API.
135
+ 3. **VirtualFundBuilder:** A collection of classes and methods to quickly build portfolios and interact with our AI agents.
136
+ 4. **CLI:** The Main Sequence CLI tool.
137
+ 5. **Instruments:** An open-source integration of Main Sequence and QuantLib for quantitative finance.
138
+ 6. **Dashboards:** A collection of scaffolding recipes to integrate Streamlit dashboards with Main Sequence.
139
+
140
+ ### Repository Extra Materials
141
+
142
+ 1. **Examples:** A comprehensive collection of examples demonstrating how to build portfolios and interact with our AI agents.
143
+ 2. **Docs:** A collection of documentation and tutorials.
144
+ 3. **Scripts:** A collection of scripts for automating common tasks.
145
+ 4. **Tests:** Unit tests for the SDK.
146
+
147
+
148
+
115
149
  ## Developing with the Main Sequence SDK & Platform
116
150
  To make it easy to work on Main Sequence projects from your local environment, you have two options:
117
151
 
@@ -131,7 +165,7 @@ The VS Code extension provides a more visual, editor-integrated workflow on top
131
165
 
132
166
  2. **Search for the extension**
133
167
 
134
- In the Extensions search box, type Main Sequence and press Enter.:
168
+ In the Extensions search box, type Main Sequence and press Enter or install it from here https://marketplace.visualstudio.com/items?itemName=MainSequenceGmbH.vscode-mainsequence
135
169
 
136
170
 
137
171
  ![img.png](/docs/img/vs_code_extension.png)
@@ -5,7 +5,6 @@
5
5
  # Main Sequence Python SDK
6
6
 
7
7
 
8
-
9
8
  The Main Sequence Python SDK is a high-performance client library that enables seamless integration with the Main Sequence platform.
10
9
  It provides a unified and intuitive interface for interacting with data, compute, and intelligence services across the platform.
11
10
 
@@ -18,8 +17,43 @@ The Main Sequence SDK is also a foundational component of all Main Sequence Plat
18
17
  It acts as the backbone for automation, process orchestration, and the rapid development of dashboards,
19
18
  data nodes, and agentic tools built on top of the platform.
20
19
 
20
+
21
21
  ---
22
22
 
23
+
24
+
25
+ ## How the Repository is Organized
26
+
27
+ The documentation follows the same structure as the SDK. Within each topic, we delve deeper into the logic and usage.
28
+
29
+ Additionally, we provide an extensive set of examples within the repository here:
30
+ [Example Repository](https://github.com/mainsequence-sdk/mainsequence-sdk/tree/main/mainsequence).
31
+
32
+ The examples section is organized by use case rather than by individual libraries.
33
+
34
+ Recordings of our previous bootcamps will be available on our YouTube channel:
35
+ [YouTube Channel](https://www.youtube.com/channel/UCHevDrKbbsoWuV4OjTHOrpA).
36
+
37
+ ### Main Sequence SDK Components
38
+
39
+ Below are the main modules that compose the Main Sequence SDK, which are importable from `mainsequence`:
40
+
41
+ 1. **TDAG:** A time-series data orchestration and scheduling tool.
42
+ 2. **Client:** The Main Sequence client for interacting with the Main Sequence API.
43
+ 3. **VirtualFundBuilder:** A collection of classes and methods to quickly build portfolios and interact with our AI agents.
44
+ 4. **CLI:** The Main Sequence CLI tool.
45
+ 5. **Instruments:** An open-source integration of Main Sequence and QuantLib for quantitative finance.
46
+ 6. **Dashboards:** A collection of scaffolding recipes to integrate Streamlit dashboards with Main Sequence.
47
+
48
+ ### Repository Extra Materials
49
+
50
+ 1. **Examples:** A comprehensive collection of examples demonstrating how to build portfolios and interact with our AI agents.
51
+ 2. **Docs:** A collection of documentation and tutorials.
52
+ 3. **Scripts:** A collection of scripts for automating common tasks.
53
+ 4. **Tests:** Unit tests for the SDK.
54
+
55
+
56
+
23
57
  ## Developing with the Main Sequence SDK & Platform
24
58
  To make it easy to work on Main Sequence projects from your local environment, you have two options:
25
59
 
@@ -39,7 +73,7 @@ The VS Code extension provides a more visual, editor-integrated workflow on top
39
73
 
40
74
  2. **Search for the extension**
41
75
 
42
- In the Extensions search box, type Main Sequence and press Enter.:
76
+ In the Extensions search box, type Main Sequence and press Enter or install it from here https://marketplace.visualstudio.com/items?itemName=MainSequenceGmbH.vscode-mainsequence
43
77
 
44
78
 
45
79
  ![img.png](/docs/img/vs_code_extension.png)
@@ -214,7 +214,7 @@ class UpdateRunner:
214
214
  # Check that the time index is a UTC datetime
215
215
  time_index = df.index.get_level_values(0)
216
216
  if not pd.api.types.is_datetime64_ns_dtype(time_index) or str(time_index.tz) != str(
217
- datetime.timezone.utc
217
+ datetime.UTC
218
218
  ):
219
219
  raise TypeError(f"Time index must be datetime64[ns, UTC], but found {time_index.dtype}")
220
220
 
@@ -249,11 +249,9 @@ class UpdateRunner:
249
249
  # 2. Execute the core data calculation
250
250
  with tracer.start_as_current_span("Update Calculation") as update_span:
251
251
 
252
- # Add specific log message for the initial run
253
- if not self.ts.update_statistics:
254
- self.logger.debug(f"Performing first-time update for {self.ts}...")
255
- else:
256
- self.logger.debug(f"Calculating update for {self.ts}...")
252
+
253
+
254
+ self.logger.debug(f"Calculating update for {self.ts}...")
257
255
 
258
256
  try:
259
257
  # Call the business logic defined on the DataNode class
@@ -295,7 +293,11 @@ class UpdateRunner:
295
293
  self.logger.exception("Failed during update calculation or persistence.")
296
294
  update_span.set_status(Status(StatusCode.ERROR, description=str(e)))
297
295
  raise e
298
- return tmp_df
296
+ finally:
297
+ self.ts.local_persist_manager.synchronize_data_node_update(None)
298
+ us = self.ts.local_persist_manager.get_update_statistics_for_table()
299
+ self.ts.update_statistics = us
300
+
299
301
 
300
302
  @tracer.start_as_current_span("UpdateRunner._verify_tree_is_updated")
301
303
  def _verify_tree_is_updated(
@@ -474,10 +476,6 @@ class UpdateRunner:
474
476
  raise e # Re-raise to halt the entire process on failure
475
477
 
476
478
  # refresh update statistics of direct dependencies
477
- # for edge case of multicolumn self update
478
- self.ts.local_persist_manager.synchronize_data_node_update(None)
479
- us = self.ts.local_persist_manager.get_update_statistics_for_table()
480
- self.ts.update_statistics = us
481
479
 
482
480
  refresh_update_statistics_of_deps(self.ts)
483
481
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 3.3.11
3
+ Version: 3.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
@@ -97,7 +97,6 @@ Dynamic: license-file
97
97
  # Main Sequence Python SDK
98
98
 
99
99
 
100
-
101
100
  The Main Sequence Python SDK is a high-performance client library that enables seamless integration with the Main Sequence platform.
102
101
  It provides a unified and intuitive interface for interacting with data, compute, and intelligence services across the platform.
103
102
 
@@ -110,8 +109,43 @@ The Main Sequence SDK is also a foundational component of all Main Sequence Plat
110
109
  It acts as the backbone for automation, process orchestration, and the rapid development of dashboards,
111
110
  data nodes, and agentic tools built on top of the platform.
112
111
 
112
+
113
113
  ---
114
114
 
115
+
116
+
117
+ ## How the Repository is Organized
118
+
119
+ The documentation follows the same structure as the SDK. Within each topic, we delve deeper into the logic and usage.
120
+
121
+ Additionally, we provide an extensive set of examples within the repository here:
122
+ [Example Repository](https://github.com/mainsequence-sdk/mainsequence-sdk/tree/main/mainsequence).
123
+
124
+ The examples section is organized by use case rather than by individual libraries.
125
+
126
+ Recordings of our previous bootcamps will be available on our YouTube channel:
127
+ [YouTube Channel](https://www.youtube.com/channel/UCHevDrKbbsoWuV4OjTHOrpA).
128
+
129
+ ### Main Sequence SDK Components
130
+
131
+ Below are the main modules that compose the Main Sequence SDK, which are importable from `mainsequence`:
132
+
133
+ 1. **TDAG:** A time-series data orchestration and scheduling tool.
134
+ 2. **Client:** The Main Sequence client for interacting with the Main Sequence API.
135
+ 3. **VirtualFundBuilder:** A collection of classes and methods to quickly build portfolios and interact with our AI agents.
136
+ 4. **CLI:** The Main Sequence CLI tool.
137
+ 5. **Instruments:** An open-source integration of Main Sequence and QuantLib for quantitative finance.
138
+ 6. **Dashboards:** A collection of scaffolding recipes to integrate Streamlit dashboards with Main Sequence.
139
+
140
+ ### Repository Extra Materials
141
+
142
+ 1. **Examples:** A comprehensive collection of examples demonstrating how to build portfolios and interact with our AI agents.
143
+ 2. **Docs:** A collection of documentation and tutorials.
144
+ 3. **Scripts:** A collection of scripts for automating common tasks.
145
+ 4. **Tests:** Unit tests for the SDK.
146
+
147
+
148
+
115
149
  ## Developing with the Main Sequence SDK & Platform
116
150
  To make it easy to work on Main Sequence projects from your local environment, you have two options:
117
151
 
@@ -131,7 +165,7 @@ The VS Code extension provides a more visual, editor-integrated workflow on top
131
165
 
132
166
  2. **Search for the extension**
133
167
 
134
- In the Extensions search box, type Main Sequence and press Enter.:
168
+ In the Extensions search box, type Main Sequence and press Enter or install it from here https://marketplace.visualstudio.com/items?itemName=MainSequenceGmbH.vscode-mainsequence
135
169
 
136
170
 
137
171
  ![img.png](/docs/img/vs_code_extension.png)
@@ -65,11 +65,6 @@ mainsequence/instruments/pricing_models/fx_option_pricer.py
65
65
  mainsequence/instruments/pricing_models/indices.py
66
66
  mainsequence/instruments/pricing_models/knockout_fx_pricer.py
67
67
  mainsequence/instruments/pricing_models/swap_pricer.py
68
- mainsequence/reportbuilder/__init__.py
69
- mainsequence/reportbuilder/__main__.py
70
- mainsequence/reportbuilder/model.py
71
- mainsequence/reportbuilder/slide_templates.py
72
- mainsequence/reportbuilder/examples/ms_template_report.py
73
68
  mainsequence/tdag/__init__.py
74
69
  mainsequence/tdag/__main__.py
75
70
  mainsequence/tdag/config.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mainsequence"
7
- version = "3.3.11"
7
+ version = "3.4.2"
8
8
  description = "Main Sequence SDK "
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"