mainsequence 2.0.4b0__tar.gz → 2.0.4rc0__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.
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/PKG-INFO +1 -1
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/cli/cli.py +13 -3
- mainsequence-2.0.4rc0/mainsequence/dashboards/streamlit/assets/image_1_base64.txt +1 -0
- mainsequence-2.0.4rc0/mainsequence/dashboards/streamlit/assets/image_2_base64.txt +1 -0
- mainsequence-2.0.4rc0/mainsequence/dashboards/streamlit/assets/image_3_base64.txt +1 -0
- mainsequence-2.0.4rc0/mainsequence/dashboards/streamlit/assets/image_4_base64.txt +1 -0
- mainsequence-2.0.4rc0/mainsequence/dashboards/streamlit/assets/image_5_base64.txt +1 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/dashboards/streamlit/core/theme.py +2 -2
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence.egg-info/PKG-INFO +1 -1
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence.egg-info/SOURCES.txt +5 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/pyproject.toml +2 -2
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/LICENSE +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/README.md +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/__main__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/cli/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/cli/api.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/cli/config.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/cli/ssh_utils.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/client/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/client/base.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/client/data_sources_interfaces/timescale.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/client/models_helpers.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/client/models_report_studio.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/client/models_tdag.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/client/models_vam.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/client/utils.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/dashboards/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/dashboards/streamlit/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/dashboards/streamlit/assets/config.toml +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/dashboards/streamlit/assets/favicon.png +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/dashboards/streamlit/assets/logo.png +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/dashboards/streamlit/core/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/dashboards/streamlit/pages/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/dashboards/streamlit/scaffold.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instrumentation/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instrumentation/utils.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/data_interface/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/data_interface/data_interface.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments/base_instrument.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments/bond.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments/european_option.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments/interest_rate_swap.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments/json_codec.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments/knockout_fx_option.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments/position.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments/ql_fields.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments/vanilla_fx_option.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/instruments.default.toml +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/pricing_models/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/pricing_models/black_scholes.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/pricing_models/bond_pricer.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/pricing_models/fx_option_pricer.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/pricing_models/indices.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/pricing_models/knockout_fx_pricer.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/pricing_models/swap_pricer.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/settings.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/instruments/utils.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/logconf.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/reportbuilder/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/reportbuilder/__main__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/reportbuilder/examples/ms_template_report.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/reportbuilder/model.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/reportbuilder/slide_templates.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/__main__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/config.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/data_nodes/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/data_nodes/build_operations.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/data_nodes/data_nodes.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/data_nodes/persist_managers.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/data_nodes/run_operations.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/data_nodes/utils.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/future_registry.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/tdag/utils.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/__main__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/agent_interface.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/config_handling.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/etf_replicator_app.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/generate_report.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/load_external_portfolio.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/news_app.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/portfolio_report_app.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/portfolio_table.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/run_named_portfolio.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/run_portfolio.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/templates/base.html +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/apps/templates/report.html +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/data_nodes/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/data_nodes/external_weights.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/data_nodes/intraday_trend.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/data_nodes/market_cap.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/data_nodes/mock_signal.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/data_nodes/portfolio_replicator.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/prices/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/prices/data_nodes.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/prices/utils.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/rebalance_strategies.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/data_nodes.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/enums.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/models.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/notebook_handling.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/portfolio_interface.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/resource_factory/__init__.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/resource_factory/app_factory.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/resource_factory/base_factory.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/resource_factory/rebalance_factory.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/resource_factory/signal_factory.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence/virtualfundbuilder/utils.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence.egg-info/dependency_links.txt +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence.egg-info/entry_points.txt +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence.egg-info/requires.txt +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/mainsequence.egg-info/top_level.txt +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/setup.cfg +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/tests/test_agent.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/tests/test_portfolio.py +0 -0
- {mainsequence-2.0.4b0 → mainsequence-2.0.4rc0}/tests/test_replicator.py +0 -0
@@ -366,12 +366,22 @@ def project_set_up_locally(
|
|
366
366
|
if env_text and not env_text.endswith("\n"): env_text += "\n"
|
367
367
|
env_text += f"MAINSEQUENCE_TOKEN={project_token}\n"
|
368
368
|
|
369
|
-
#
|
370
|
-
|
371
|
-
|
369
|
+
# --- ensure TDAG_ENDPOINT points at the current backend URL ---
|
370
|
+
backend = cfg.backend_url()
|
371
|
+
lines = env_text.splitlines()
|
372
|
+
if any(line.startswith("TDAG_ENDPOINT=") for line in lines):
|
373
|
+
env_text = "\n".join(
|
374
|
+
(f"TDAG_ENDPOINT={backend}" if line.startswith("TDAG_ENDPOINT=") else line)
|
375
|
+
for line in lines
|
376
|
+
)
|
377
|
+
else:
|
378
|
+
if env_text and not env_text.endswith("\n"): env_text += "\n"
|
379
|
+
env_text += f"TDAG_ENDPOINT={backend}\n"
|
372
380
|
|
373
381
|
|
374
382
|
|
383
|
+
# write final .env with both vars present
|
384
|
+
(target_dir / ".env").write_text(env_text, encoding="utf-8")
|
375
385
|
cfg.set_link(project_id, str(target_dir))
|
376
386
|
|
377
387
|
typer.secho(f"Local folder: {target_dir}", fg=typer.colors.GREEN)
|