mainsequence 3.3.5__tar.gz → 3.3.8__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.5 → mainsequence-3.3.8}/PKG-INFO +1 -1
  2. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/cli/api.py +7 -8
  3. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/cli/cli.py +1 -1
  4. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/models_vam.py +22 -0
  5. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/data_interface/data_interface.py +1 -1
  6. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence.egg-info/PKG-INFO +1 -1
  7. {mainsequence-3.3.5 → mainsequence-3.3.8}/pyproject.toml +1 -1
  8. {mainsequence-3.3.5 → mainsequence-3.3.8}/LICENSE +0 -0
  9. {mainsequence-3.3.5 → mainsequence-3.3.8}/README.md +0 -0
  10. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/__init__.py +0 -0
  11. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/__main__.py +0 -0
  12. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/cli/__init__.py +0 -0
  13. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/cli/config.py +0 -0
  14. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/cli/ssh_utils.py +0 -0
  15. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/__init__.py +0 -0
  16. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/base.py +0 -0
  17. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
  18. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
  19. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/data_sources_interfaces/timescale.py +0 -0
  20. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/exceptions.py +0 -0
  21. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/models_helpers.py +0 -0
  22. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/models_report_studio.py +0 -0
  23. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/models_tdag.py +0 -0
  24. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/client/utils.py +0 -0
  25. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/__init__.py +0 -0
  26. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/__init__.py +0 -0
  27. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/assets/config.toml +0 -0
  28. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/assets/favicon.png +0 -0
  29. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/assets/image_1_base64.txt +0 -0
  30. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/assets/image_2_base64.txt +0 -0
  31. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/assets/image_3_base64.txt +0 -0
  32. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/assets/image_4_base64.txt +0 -0
  33. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/assets/image_5_base64.txt +0 -0
  34. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/assets/logo.png +0 -0
  35. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/core/__init__.py +0 -0
  36. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/core/theme.py +0 -0
  37. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/pages/__init__.py +0 -0
  38. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/dashboards/streamlit/scaffold.py +0 -0
  39. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instrumentation/__init__.py +0 -0
  40. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instrumentation/utils.py +0 -0
  41. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/__init__.py +0 -0
  42. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/data_interface/__init__.py +0 -0
  43. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments/__init__.py +0 -0
  44. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments/base_instrument.py +0 -0
  45. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments/bond.py +0 -0
  46. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments/european_option.py +0 -0
  47. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments/interest_rate_swap.py +0 -0
  48. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments/json_codec.py +0 -0
  49. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments/knockout_fx_option.py +0 -0
  50. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments/position.py +0 -0
  51. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments/ql_fields.py +0 -0
  52. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments/vanilla_fx_option.py +0 -0
  53. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/instruments.default.toml +0 -0
  54. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/pricing_models/__init__.py +0 -0
  55. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/pricing_models/black_scholes.py +0 -0
  56. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/pricing_models/bond_pricer.py +0 -0
  57. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/pricing_models/fx_option_pricer.py +0 -0
  58. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/pricing_models/indices.py +0 -0
  59. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/pricing_models/knockout_fx_pricer.py +0 -0
  60. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/pricing_models/swap_pricer.py +0 -0
  61. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/settings.py +0 -0
  62. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/instruments/utils.py +0 -0
  63. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/logconf.py +0 -0
  64. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/reportbuilder/__init__.py +0 -0
  65. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/reportbuilder/__main__.py +0 -0
  66. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/reportbuilder/examples/ms_template_report.py +0 -0
  67. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/reportbuilder/model.py +0 -0
  68. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/reportbuilder/slide_templates.py +0 -0
  69. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/__init__.py +0 -0
  70. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/__main__.py +0 -0
  71. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/config.py +0 -0
  72. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/data_nodes/__init__.py +0 -0
  73. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/data_nodes/build_operations.py +0 -0
  74. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/data_nodes/data_nodes.py +0 -0
  75. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/data_nodes/persist_managers.py +0 -0
  76. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/data_nodes/run_operations.py +0 -0
  77. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/data_nodes/utils.py +0 -0
  78. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/future_registry.py +0 -0
  79. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/tdag/utils.py +0 -0
  80. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/__init__.py +0 -0
  81. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/agent_interface.py +0 -0
  82. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/config_handling.py +0 -0
  83. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/__init__.py +0 -0
  84. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/__init__.py +0 -0
  85. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/etf_replicator_app.py +0 -0
  86. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/generate_report.py +0 -0
  87. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/load_external_portfolio.py +0 -0
  88. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/news_app.py +0 -0
  89. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/portfolio_report_app.py +0 -0
  90. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/portfolio_table.py +0 -0
  91. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/run_named_portfolio.py +0 -0
  92. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/run_portfolio.py +0 -0
  93. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/templates/base.html +0 -0
  94. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/apps/templates/report.html +0 -0
  95. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/data_nodes/__init__.py +0 -0
  96. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/data_nodes/external_weights.py +0 -0
  97. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/data_nodes/intraday_trend.py +0 -0
  98. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/data_nodes/market_cap.py +0 -0
  99. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/data_nodes/mock_signal.py +0 -0
  100. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/data_nodes/portfolio_replicator.py +0 -0
  101. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/prices/__init__.py +0 -0
  102. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/prices/data_nodes.py +0 -0
  103. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/prices/utils.py +0 -0
  104. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/__init__.py +0 -0
  105. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/rebalance_strategies.py +0 -0
  106. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/data_nodes.py +0 -0
  107. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/enums.py +0 -0
  108. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/models.py +0 -0
  109. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/notebook_handling.py +0 -0
  110. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/portfolio_interface.py +0 -0
  111. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/resource_factory/__init__.py +0 -0
  112. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/resource_factory/app_factory.py +0 -0
  113. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/resource_factory/base_factory.py +0 -0
  114. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/resource_factory/rebalance_factory.py +0 -0
  115. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/resource_factory/signal_factory.py +0 -0
  116. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence/virtualfundbuilder/utils.py +0 -0
  117. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence.egg-info/SOURCES.txt +0 -0
  118. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence.egg-info/dependency_links.txt +0 -0
  119. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence.egg-info/entry_points.txt +0 -0
  120. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence.egg-info/requires.txt +0 -0
  121. {mainsequence-3.3.5 → mainsequence-3.3.8}/mainsequence.egg-info/top_level.txt +0 -0
  122. {mainsequence-3.3.5 → mainsequence-3.3.8}/setup.cfg +0 -0
  123. {mainsequence-3.3.5 → mainsequence-3.3.8}/tests/test_agent.py +0 -0
  124. {mainsequence-3.3.5 → mainsequence-3.3.8}/tests/test_portfolio.py +0 -0
  125. {mainsequence-3.3.5 → mainsequence-3.3.8}/tests/test_replicator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 3.3.5
3
+ Version: 3.3.8
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
@@ -197,14 +197,13 @@ def fetch_project_env_text(project_id: int | str) -> str:
197
197
 
198
198
 
199
199
  def add_deploy_key(project_id: int | str, key_title: str, public_key: str) -> None:
200
- try:
201
- authed(
202
- "POST",
203
- f"/orm/api/pods/projects/{project_id}/add_deploy_key/",
204
- {"key_title": key_title, "public_key": public_key},
205
- )
206
- except Exception:
207
- pass
200
+
201
+ r=authed(
202
+ "POST",
203
+ f"/orm/api/pods/projects/{project_id}/add_deploy_key/",
204
+ {"key_title": key_title, "public_key": public_key},
205
+ )
206
+ r.raise_for_status()
208
207
 
209
208
 
210
209
  def get_project_token(project_id: int | str) -> str:
@@ -651,7 +651,7 @@ def project_set_up_locally(
651
651
  host = platform.node()
652
652
  add_deploy_key(project_id, host, pub)
653
653
  except Exception:
654
- pass
654
+ raise Exception("Error getting host name")
655
655
 
656
656
  agent_env = start_agent_and_add_key(key_path)
657
657
 
@@ -525,6 +525,28 @@ class AssetMixin(BaseObjectOrm, BasePydanticModel):
525
525
  transformed_kwargs = cls._translate_query_params(kwargs)
526
526
  return super().get(*args, **transformed_kwargs)
527
527
 
528
+ @property
529
+ def ms_instrument(self):
530
+ if hasattr(self, "_ms_instrument"):
531
+ return self._ms_instrument
532
+ self.set_ms_instrument()
533
+ return self._ms_instrument
534
+ def set_ms_instrument(self):
535
+ """
536
+ Delicate function that mixes functionality it only works with pricing details from
537
+ Main Sequence
538
+ Returns
539
+ -------
540
+
541
+ """
542
+ import mainsequence.instruments as msi
543
+ if self.current_pricing_detail:
544
+ if hasattr(self.current_pricing_detail, "instrument_dump"):
545
+ self._ms_instrument=msi.Instrument.rebuild(self.current_pricing_detail.instrument_dump)
546
+ return None
547
+ raise Exception("Instrument does not have Main Sequence Current Pricing Details")
548
+
549
+
528
550
  def get_calendar(self):
529
551
  if self.current_snapshot.exchange_code in COMPOSITE_TO_ISO.keys():
530
552
  return Calendar(name=COMPOSITE_TO_ISO[self.current_snapshot.exchange_code])
@@ -101,7 +101,7 @@ class MSInterface:
101
101
  )
102
102
 
103
103
  if curve.empty:
104
- raise Exception(f"{target_date} is empty.")
104
+ raise Exception(f"{target_date} is empty. If you want to use the latest curve available set USE_LAST_OBSERVATION_MS_INSTRUMENT=true")
105
105
  zeros = self.decompress_string_to_curve(curve["curve"].iloc[0])
106
106
  zeros = pd.Series(zeros).reset_index()
107
107
  zeros["index"] = pd.to_numeric(zeros["index"])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 3.3.5
3
+ Version: 3.3.8
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.3.5"
7
+ version = "3.3.8"
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