mainsequence 2.0.0__py3-none-any.whl → 2.0.2__py3-none-any.whl

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.
@@ -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,7 +7,7 @@ mainsequence/cli/cli.py,sha256=fVc5k8g96LYDrah5334vDXeSGH8_lf6unMH0WSFtG34,16435
7
7
  mainsequence/cli/config.py,sha256=HVTGfXaxlYE47VShvYuIo40Wdkxaf3xYM_y4FsI0mGg,2583
8
8
  mainsequence/cli/ssh_utils.py,sha256=95CmZk2nIoJhNTCmifMEsE9QXJrXY3zvfxLQp3QpdiM,5088
9
9
  mainsequence/client/__init__.py,sha256=CDlJtsh0L9Z29OVMBnZsQajKBa193Yy5TkqLoilkbZM,869
10
- mainsequence/client/base.py,sha256=rQp4SPzR8y-sW7-EDBvVtd-jPxt78QQFo0LjekB8iD4,14972
10
+ mainsequence/client/base.py,sha256=j6_iXmt6vPCS7INSOItTpM6ZbAmITAuPpMFNB9ZQTeE,15000
11
11
  mainsequence/client/models_helpers.py,sha256=QXu-EZK54ryszVbjREwb7qRrS2WPvn_voboptPTR6kM,4100
12
12
  mainsequence/client/models_report_studio.py,sha256=mKu7k0STyUZMTzTK98w46t2b1jv8hVhDpmCzI4EeSnQ,13971
13
13
  mainsequence/client/models_tdag.py,sha256=A9mjdpcXFWbxfb9B9gfqml3AK9Lxbc7ovFuofimHnwM,90328
@@ -80,7 +80,7 @@ mainsequence/virtualfundbuilder/contrib/apps/__init__.py,sha256=oBt3cy1TxA87ZesC
80
80
  mainsequence/virtualfundbuilder/contrib/apps/etf_replicator_app.py,sha256=a9lR8un2av7rp-N-DT0eQjOvWglBUUKRgosfV7HO3dc,7960
81
81
  mainsequence/virtualfundbuilder/contrib/apps/generate_report.py,sha256=Q5O63AUpQQEDJRSR3KvkpE6644l4FwQaVQKz8ZXpjwc,12891
82
82
  mainsequence/virtualfundbuilder/contrib/apps/load_external_portfolio.py,sha256=flp0LQbCZHckZLPRi9RIWXjhP99gBaE0lNIROoitQ5Y,4544
83
- mainsequence/virtualfundbuilder/contrib/apps/news_app.py,sha256=IaUMPQoCG5sMmPcwPbgdqMOh0mjyUeoANYjk1-L5W6o,20148
83
+ mainsequence/virtualfundbuilder/contrib/apps/news_app.py,sha256=I0GfkxIIfnk--nc0qfyCad4ZrlvwJpfntL2SLMjI_z4,20156
84
84
  mainsequence/virtualfundbuilder/contrib/apps/portfolio_report_app.py,sha256=dFwx8Kea0K-Lo29O3cLdR-ldLX4pGviKtPmusARMEdQ,3672
85
85
  mainsequence/virtualfundbuilder/contrib/apps/portfolio_table.py,sha256=oJxUnskf2bDJIGs09_r1TgDbU4xJYwYVh6r_eQNx8BM,4906
86
86
  mainsequence/virtualfundbuilder/contrib/apps/run_named_portfolio.py,sha256=qu36aMC0VZhirfum-s0PJ8jASuY7VrA75kxI51AuXE4,1809
@@ -103,8 +103,9 @@ mainsequence/virtualfundbuilder/resource_factory/app_factory.py,sha256=XSZo9ImdT
103
103
  mainsequence/virtualfundbuilder/resource_factory/base_factory.py,sha256=jPXdK2WCaNw3r6kP3sZGIL7M4ygfIMs8ek3Yq4QYQZg,9434
104
104
  mainsequence/virtualfundbuilder/resource_factory/rebalance_factory.py,sha256=ysEeJrlbxrMPA7wFw7KDtuCTzXYkdfYZuxUFpPPY7vE,3732
105
105
  mainsequence/virtualfundbuilder/resource_factory/signal_factory.py,sha256=ywa7vxxLlQopuRwwRKyj866ftgaj8uKVoiPQ9YJ2IIo,7198
106
- mainsequence-2.0.0.dist-info/licenses/LICENSE,sha256=fXoCKgEuZXmP84_QDXpvO18QHze_6AAhd-zvZBUjJxQ,4524
107
- mainsequence-2.0.0.dist-info/METADATA,sha256=O4KBwTZAqaMbCFQziJjeZmFBChDu8ODCTaqN0bitQcw,6979
108
- mainsequence-2.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
109
- mainsequence-2.0.0.dist-info/top_level.txt,sha256=uSLD9rXMDMN0cc1x0p808bwyQMoRmYY2pdQZEWLajX8,13
110
- mainsequence-2.0.0.dist-info/RECORD,,
106
+ mainsequence-2.0.2.dist-info/licenses/LICENSE,sha256=fXoCKgEuZXmP84_QDXpvO18QHze_6AAhd-zvZBUjJxQ,4524
107
+ mainsequence-2.0.2.dist-info/METADATA,sha256=atyVDb6JvsyadKJYCHpSJ5grgkx5dhOI4SI-N7zcNc8,8028
108
+ mainsequence-2.0.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
109
+ mainsequence-2.0.2.dist-info/entry_points.txt,sha256=2J8TprrUndh7AttNTlXAaxgGtkXFUAHgXs-M7DCj5MU,58
110
+ mainsequence-2.0.2.dist-info/top_level.txt,sha256=uSLD9rXMDMN0cc1x0p808bwyQMoRmYY2pdQZEWLajX8,13
111
+ mainsequence-2.0.2.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ mainsequence = mainsequence.cli.cli:app