mainsequence 2.0.0__tar.gz → 2.0.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 (120) hide show
  1. {mainsequence-2.0.0 → mainsequence-2.0.2}/PKG-INFO +42 -14
  2. mainsequence-2.0.2/README.md +42 -0
  3. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/client/base.py +1 -1
  4. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/news_app.py +1 -1
  5. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence.egg-info/PKG-INFO +42 -14
  6. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence.egg-info/SOURCES.txt +1 -0
  7. mainsequence-2.0.2/mainsequence.egg-info/entry_points.txt +2 -0
  8. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence.egg-info/requires.txt +0 -14
  9. {mainsequence-2.0.0 → mainsequence-2.0.2}/pyproject.toml +12 -7
  10. mainsequence-2.0.0/README.md +0 -1
  11. {mainsequence-2.0.0 → mainsequence-2.0.2}/LICENSE +0 -0
  12. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/__init__.py +0 -0
  13. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/__main__.py +0 -0
  14. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/cli/__init__.py +0 -0
  15. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/cli/api.py +0 -0
  16. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/cli/cli.py +0 -0
  17. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/cli/config.py +0 -0
  18. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/cli/ssh_utils.py +0 -0
  19. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/client/__init__.py +0 -0
  20. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
  21. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
  22. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/client/data_sources_interfaces/timescale.py +0 -0
  23. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/client/models_helpers.py +0 -0
  24. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/client/models_report_studio.py +0 -0
  25. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/client/models_tdag.py +0 -0
  26. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/client/models_vam.py +0 -0
  27. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/client/utils.py +0 -0
  28. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/dashboards/__init__.py +0 -0
  29. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/dashboards/streamlit/__init__.py +0 -0
  30. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/dashboards/streamlit/assets/config.toml +0 -0
  31. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/dashboards/streamlit/assets/favicon.png +0 -0
  32. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/dashboards/streamlit/assets/logo.png +0 -0
  33. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/dashboards/streamlit/core/__init__.py +0 -0
  34. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/dashboards/streamlit/core/theme.py +0 -0
  35. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/dashboards/streamlit/pages/__init__.py +0 -0
  36. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/dashboards/streamlit/scaffold.py +0 -0
  37. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instrumentation/__init__.py +0 -0
  38. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instrumentation/utils.py +0 -0
  39. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/__init__.py +0 -0
  40. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/data_interface/__init__.py +0 -0
  41. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/data_interface/data_interface.py +0 -0
  42. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/instruments/__init__.py +0 -0
  43. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/instruments/base_instrument.py +0 -0
  44. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/instruments/bond.py +0 -0
  45. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/instruments/european_option.py +0 -0
  46. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/instruments/interest_rate_swap.py +0 -0
  47. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/instruments/json_codec.py +0 -0
  48. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/instruments/knockout_fx_option.py +0 -0
  49. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/instruments/position.py +0 -0
  50. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/instruments/ql_fields.py +0 -0
  51. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/instruments/vanilla_fx_option.py +0 -0
  52. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/pricing_models/__init__.py +0 -0
  53. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/pricing_models/black_scholes.py +0 -0
  54. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/pricing_models/bond_pricer.py +0 -0
  55. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/pricing_models/fx_option_pricer.py +0 -0
  56. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/pricing_models/indices.py +0 -0
  57. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/pricing_models/knockout_fx_pricer.py +0 -0
  58. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/pricing_models/swap_pricer.py +0 -0
  59. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/settings.py +0 -0
  60. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/instruments/utils.py +0 -0
  61. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/logconf.py +0 -0
  62. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/reportbuilder/__init__.py +0 -0
  63. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/reportbuilder/__main__.py +0 -0
  64. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/reportbuilder/examples/ms_template_report.py +0 -0
  65. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/reportbuilder/model.py +0 -0
  66. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/reportbuilder/slide_templates.py +0 -0
  67. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/__init__.py +0 -0
  68. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/__main__.py +0 -0
  69. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/config.py +0 -0
  70. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/data_nodes/__init__.py +0 -0
  71. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/data_nodes/build_operations.py +0 -0
  72. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/data_nodes/data_nodes.py +0 -0
  73. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/data_nodes/persist_managers.py +0 -0
  74. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/data_nodes/run_operations.py +0 -0
  75. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/data_nodes/utils.py +0 -0
  76. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/future_registry.py +0 -0
  77. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/tdag/utils.py +0 -0
  78. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/__init__.py +0 -0
  79. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/__main__.py +0 -0
  80. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/agent_interface.py +0 -0
  81. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/config_handling.py +0 -0
  82. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/__init__.py +0 -0
  83. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/__init__.py +0 -0
  84. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/etf_replicator_app.py +0 -0
  85. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/generate_report.py +0 -0
  86. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/load_external_portfolio.py +0 -0
  87. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/portfolio_report_app.py +0 -0
  88. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/portfolio_table.py +0 -0
  89. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/run_named_portfolio.py +0 -0
  90. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/run_portfolio.py +0 -0
  91. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/templates/base.html +0 -0
  92. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/apps/templates/report.html +0 -0
  93. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/__init__.py +0 -0
  94. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/external_weights.py +0 -0
  95. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/intraday_trend.py +0 -0
  96. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/market_cap.py +0 -0
  97. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/mock_signal.py +0 -0
  98. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/data_nodes/portfolio_replicator.py +0 -0
  99. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/prices/__init__.py +0 -0
  100. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/prices/data_nodes.py +0 -0
  101. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/prices/utils.py +0 -0
  102. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/__init__.py +0 -0
  103. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/rebalance_strategies.py +0 -0
  104. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/data_nodes.py +0 -0
  105. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/enums.py +0 -0
  106. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/models.py +0 -0
  107. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/notebook_handling.py +0 -0
  108. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/portfolio_interface.py +0 -0
  109. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/resource_factory/__init__.py +0 -0
  110. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/resource_factory/app_factory.py +0 -0
  111. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/resource_factory/base_factory.py +0 -0
  112. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/resource_factory/rebalance_factory.py +0 -0
  113. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/resource_factory/signal_factory.py +0 -0
  114. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence/virtualfundbuilder/utils.py +0 -0
  115. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence.egg-info/dependency_links.txt +0 -0
  116. {mainsequence-2.0.0 → mainsequence-2.0.2}/mainsequence.egg-info/top_level.txt +0 -0
  117. {mainsequence-2.0.0 → mainsequence-2.0.2}/setup.cfg +0 -0
  118. {mainsequence-2.0.0 → mainsequence-2.0.2}/tests/test_agent.py +0 -0
  119. {mainsequence-2.0.0 → mainsequence-2.0.2}/tests/test_portfolio.py +0 -0
  120. {mainsequence-2.0.0 → mainsequence-2.0.2}/tests/test_replicator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 2.0.0
3
+ Version: 2.0.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
@@ -87,19 +87,47 @@ Requires-Dist: duckdb
87
87
  Requires-Dist: plotly
88
88
  Requires-Dist: typer
89
89
  Requires-Dist: QuantLib
90
- Provides-Extra: dev
91
- Requires-Dist: mkdocs; extra == "dev"
92
- Requires-Dist: mkdocs-material; extra == "dev"
93
- Requires-Dist: mkdocs-gen-files; extra == "dev"
94
- Requires-Dist: mkdocs-literate-nav; extra == "dev"
95
- Requires-Dist: mkdocs-autorefs; extra == "dev"
96
- Requires-Dist: mkdocstrings[python]; extra == "dev"
97
- Requires-Dist: mkdocs-mermaid2-plugin; extra == "dev"
98
- Requires-Dist: pymdown-extensions; extra == "dev"
99
- Requires-Dist: pipdeptree; extra == "dev"
100
- Requires-Dist: pytest; extra == "dev"
101
- Requires-Dist: pytest-freezegun; extra == "dev"
102
- Requires-Dist: twine; extra == "dev"
103
90
  Dynamic: license-file
104
91
 
92
+ <p align="center">
93
+ <img src="https://main-sequence.app/static/media/logos/MS_logo_long_black.png" alt="Main Sequence Logo" width="500"/>
94
+ </p>
95
+
105
96
  # Main Sequence Python SDK
97
+
98
+
99
+
100
+ The **Main Sequence Python SDK** is a powerful set of client libraries designed to facilitate interaction with Main Sequence systems using Python. The SDK covers four main components:
101
+
102
+ 1. **TDAG:** A Time Series Data Orchestration and Scheduling Tool.
103
+ 2. **Client:** The Main Sequence client for interacting with the Main Sequence API.
104
+ 3. **VirtualFundBuilder:** A collection of classes and methods to quickly build portfolios and interact with our AI agents.
105
+ 4. **Examples:** A comprehensive collection of examples demonstrating how to build portfolios and interact with our AI agents.
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+ **We strongly** encourage you to go through our examples. We have built the examples as individual Jupyter notebooks that explain the SDK through use cases. Since most platform usage involves a combination of operations, this is the most intuitive way to learn about Main Sequence.
117
+
118
+
119
+
120
+ ---
121
+
122
+ ## How the Documentation is Organized
123
+
124
+ The documentation follows the same structure as the SDK. Within each topic, we delve deeper into the logic and usage.
125
+
126
+ Additionally, we provide an extensive set of examples within the repository here:
127
+ [Example Repository](https://github.com/mainsequence-sdk/mainsequence-sdk/tree/main/mainsequence).
128
+
129
+ The examples section is organized by use-case rather than by individual libraries.
130
+
131
+ Recordings of our previous bootcamps will be available in our youtube channel:
132
+ [Example Repository](https://www.youtube.com/channel/UCHevDrKbbsoWuV4OjTHOrpA).
133
+
@@ -0,0 +1,42 @@
1
+ <p align="center">
2
+ <img src="https://main-sequence.app/static/media/logos/MS_logo_long_black.png" alt="Main Sequence Logo" width="500"/>
3
+ </p>
4
+
5
+ # Main Sequence Python SDK
6
+
7
+
8
+
9
+ The **Main Sequence Python SDK** is a powerful set of client libraries designed to facilitate interaction with Main Sequence systems using Python. The SDK covers four main components:
10
+
11
+ 1. **TDAG:** A Time Series Data Orchestration and Scheduling Tool.
12
+ 2. **Client:** The Main Sequence client for interacting with the Main Sequence API.
13
+ 3. **VirtualFundBuilder:** A collection of classes and methods to quickly build portfolios and interact with our AI agents.
14
+ 4. **Examples:** A comprehensive collection of examples demonstrating how to build portfolios and interact with our AI agents.
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+ **We strongly** encourage you to go through our examples. We have built the examples as individual Jupyter notebooks that explain the SDK through use cases. Since most platform usage involves a combination of operations, this is the most intuitive way to learn about Main Sequence.
26
+
27
+
28
+
29
+ ---
30
+
31
+ ## How the Documentation is Organized
32
+
33
+ The documentation follows the same structure as the SDK. Within each topic, we delve deeper into the logic and usage.
34
+
35
+ Additionally, we provide an extensive set of examples within the repository here:
36
+ [Example Repository](https://github.com/mainsequence-sdk/mainsequence-sdk/tree/main/mainsequence).
37
+
38
+ The examples section is organized by use-case rather than by individual libraries.
39
+
40
+ Recordings of our previous bootcamps will be available in our youtube channel:
41
+ [Example Repository](https://www.youtube.com/channel/UCHevDrKbbsoWuV4OjTHOrpA).
42
+
@@ -11,7 +11,7 @@ from pydantic import BaseModel, ConfigDict
11
11
  from tqdm import tqdm
12
12
  from .utils import MARKETS_CONSTANTS, request_to_datetime, DATE_FORMAT, AuthLoaders, make_request, DoesNotExist
13
13
 
14
- TDAG_ENDPOINT = os.environ.get('TDAG_ENDPOINT')
14
+ TDAG_ENDPOINT = os.environ.get('TDAG_ENDPOINT',"https://main-sequence.app")
15
15
  API_ENDPOINT = f"{TDAG_ENDPOINT}/orm/api"
16
16
 
17
17
  loaders = AuthLoaders()
@@ -12,7 +12,6 @@ from mainsequence.virtualfundbuilder.utils import get_vfb_logger
12
12
  # Assuming TDAGAgent is correctly set up and accessible in the execution environment
13
13
  from mainsequence.virtualfundbuilder.agent_interface import TDAGAgent
14
14
  from pydantic import BaseModel, Field
15
- from polygon import RESTClient
16
15
  from jinja2 import Environment, FileSystemLoader
17
16
 
18
17
  from mainsequence.client import AssetCategory
@@ -47,6 +46,7 @@ class SentimentReport(BaseApp):
47
46
 
48
47
  def __init__(self, *args, **kwargs):
49
48
  super().__init__(*args, **kwargs)
49
+ from polygon import RESTClient
50
50
 
51
51
  if not POLYGON_API_KEY:
52
52
  raise ValueError("Warning: POLYGON_API_KEY environment variable not set. Data fetching will fail.")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 2.0.0
3
+ Version: 2.0.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
@@ -87,19 +87,47 @@ Requires-Dist: duckdb
87
87
  Requires-Dist: plotly
88
88
  Requires-Dist: typer
89
89
  Requires-Dist: QuantLib
90
- Provides-Extra: dev
91
- Requires-Dist: mkdocs; extra == "dev"
92
- Requires-Dist: mkdocs-material; extra == "dev"
93
- Requires-Dist: mkdocs-gen-files; extra == "dev"
94
- Requires-Dist: mkdocs-literate-nav; extra == "dev"
95
- Requires-Dist: mkdocs-autorefs; extra == "dev"
96
- Requires-Dist: mkdocstrings[python]; extra == "dev"
97
- Requires-Dist: mkdocs-mermaid2-plugin; extra == "dev"
98
- Requires-Dist: pymdown-extensions; extra == "dev"
99
- Requires-Dist: pipdeptree; extra == "dev"
100
- Requires-Dist: pytest; extra == "dev"
101
- Requires-Dist: pytest-freezegun; extra == "dev"
102
- Requires-Dist: twine; extra == "dev"
103
90
  Dynamic: license-file
104
91
 
92
+ <p align="center">
93
+ <img src="https://main-sequence.app/static/media/logos/MS_logo_long_black.png" alt="Main Sequence Logo" width="500"/>
94
+ </p>
95
+
105
96
  # Main Sequence Python SDK
97
+
98
+
99
+
100
+ The **Main Sequence Python SDK** is a powerful set of client libraries designed to facilitate interaction with Main Sequence systems using Python. The SDK covers four main components:
101
+
102
+ 1. **TDAG:** A Time Series Data Orchestration and Scheduling Tool.
103
+ 2. **Client:** The Main Sequence client for interacting with the Main Sequence API.
104
+ 3. **VirtualFundBuilder:** A collection of classes and methods to quickly build portfolios and interact with our AI agents.
105
+ 4. **Examples:** A comprehensive collection of examples demonstrating how to build portfolios and interact with our AI agents.
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+ **We strongly** encourage you to go through our examples. We have built the examples as individual Jupyter notebooks that explain the SDK through use cases. Since most platform usage involves a combination of operations, this is the most intuitive way to learn about Main Sequence.
117
+
118
+
119
+
120
+ ---
121
+
122
+ ## How the Documentation is Organized
123
+
124
+ The documentation follows the same structure as the SDK. Within each topic, we delve deeper into the logic and usage.
125
+
126
+ Additionally, we provide an extensive set of examples within the repository here:
127
+ [Example Repository](https://github.com/mainsequence-sdk/mainsequence-sdk/tree/main/mainsequence).
128
+
129
+ The examples section is organized by use-case rather than by individual libraries.
130
+
131
+ Recordings of our previous bootcamps will be available in our youtube channel:
132
+ [Example Repository](https://www.youtube.com/channel/UCHevDrKbbsoWuV4OjTHOrpA).
133
+
@@ -7,6 +7,7 @@ mainsequence/logconf.py
7
7
  mainsequence.egg-info/PKG-INFO
8
8
  mainsequence.egg-info/SOURCES.txt
9
9
  mainsequence.egg-info/dependency_links.txt
10
+ mainsequence.egg-info/entry_points.txt
10
11
  mainsequence.egg-info/requires.txt
11
12
  mainsequence.egg-info/top_level.txt
12
13
  mainsequence/cli/__init__.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ mainsequence = mainsequence.cli.cli:app
@@ -33,17 +33,3 @@ duckdb
33
33
  plotly
34
34
  typer
35
35
  QuantLib
36
-
37
- [dev]
38
- mkdocs
39
- mkdocs-material
40
- mkdocs-gen-files
41
- mkdocs-literate-nav
42
- mkdocs-autorefs
43
- mkdocstrings[python]
44
- mkdocs-mermaid2-plugin
45
- pymdown-extensions
46
- pipdeptree
47
- pytest
48
- pytest-freezegun
49
- twine
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mainsequence"
7
- version = "2.0.0"
7
+ version = "2.0.2"
8
8
  description = "Main Sequence SDK"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -17,6 +17,7 @@ classifiers = [
17
17
  "Operating System :: OS Independent",
18
18
  ]
19
19
 
20
+
20
21
  # PEP 621 dependencies (published requirements)
21
22
 
22
23
  dependencies = [
@@ -31,17 +32,15 @@ dependencies = [
31
32
  [project.urls]
32
33
  Homepage = "https://github.com/mainsequence-sdk/mainsequence-sdk"
33
34
  Issues = "https://github.com/mainsequence-sdk/mainsequence-sdk/issues"
35
+ [project.scripts]
36
+ mainsequence = "mainsequence.cli.cli:app"
34
37
 
35
-
36
-
37
- # PEP 735 dependency groups (local-only, not published)
38
38
  # PEP 621 dependencies (published requirements)
39
- [project.optional-dependencies]
40
-
39
+ [dependency-groups]
41
40
  dev = [
42
41
  "mkdocs", "mkdocs-material", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-autorefs",
43
42
  "mkdocstrings[python]", "mkdocs-mermaid2-plugin", "pymdown-extensions", "pipdeptree",
44
- "pytest", "pytest-freezegun", "twine"
43
+ "pytest", "pytest-freezegun", "twine", "streamlit"
45
44
  ]
46
45
 
47
46
  # Package discovery equivalent to find_packages(include=['mainsequence','mainsequence.*'])
@@ -52,3 +51,9 @@ include = ["mainsequence", "mainsequence.*"]
52
51
  [tool.setuptools.package-data]
53
52
  "mainsequence" = ["**/*.html", "**/*.css", "**/*.png", "**/*.toml"]
54
53
  "mainsequence.dashboards.streamlit" = ["assets/*.png", "assets/config.toml"]
54
+
55
+ [[tool.uv.index]]
56
+ name = "testpypi"
57
+ url = "https://test.pypi.org/simple/"
58
+ publish-url = "https://test.pypi.org/legacy/"
59
+ explicit = true
@@ -1 +0,0 @@
1
- # Main Sequence Python SDK
File without changes
File without changes