ms-markets 3.0.0.dev39__tar.gz → 3.0.1.dev41__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.
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/CHANGELOG.md +22 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/PKG-INFO +1 -1
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0047-markets-api-application-boundary.md +11 -14
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/index.md +5 -36
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/rows.md +2 -4
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/client/index.md +4 -7
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/indices/formula_indexes.md +1 -1
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_portfolios/portfolios/index.md +3 -3
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/planning/implementation_tasks/markets_contracts_package_and_client_plan.md +1 -1
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/pyproject.toml +1 -1
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/__init__.py +2 -3
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/remote.py +1 -1
- ms_markets-3.0.1.dev41/src/msm/distribution.py +30 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_cli/main.py +3 -17
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/conftest.py +0 -17
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/client/test_remote_backend.py +8 -26
- ms_markets-3.0.1.dev41/tests/msm/test_distribution.py +63 -0
- ms_markets-3.0.1.dev41/tests/packaging/test_requirements_export.py +28 -0
- ms_markets-3.0.0.dev39/tests/msm/fastapi/v1/test_registry_write_policy.py +0 -191
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/accounts/account_workflow/SKILL.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/accounts/valuation_resolver/SKILL.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/assets/asset_indexed_updaters/SKILL.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/assets/asset_model_extension/SKILL.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/indices/index_workflow/SKILL.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/platform/bootstrap_registration/SKILL.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/platform/metatable_migrations/SKILL.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/portfolios/portfolio_workflow/SKILL.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/portfolios/portfolio_workflow/references/position_accounting.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/pricing/fixed_income_curve_building/SKILL.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.agents/skills/ms_markets/pricing/general_pricing/SKILL.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/.gitignore +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/LICENSE +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/README.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0005-pricing-package-refactor.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0006-asset-package-boundary.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0008-metatable-table-and-api-model-split.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0019-msm-portfolios-package-boundary.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0022-alembic-metatable-migration-alignment.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0023-deterministic-alembic-naming.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0024-namespace-scoped-alembic-version-locations.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0025-direct-metatable-runtime-binding.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0026-explicit-pricing-market-data-sets.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0027-account-target-position-portfolio-exposure.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0028-core-calendar-reference-data.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0029-account-holdings-virtual-fund-allocation-policy.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0030-explicit-portfolio-price-source-dependency.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0031-generic-portfolio-valuation-source.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0032-portfolio-group-many-to-many.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0033-pricing-valuation-position-boundary.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0034-command-center-asset-monitor-helpers.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0035-pricing-curve-identity-and-market-data-curve-bindings.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0036-prepared-pricing-valuation-context.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0037-index-formula-and-custom-calculation-framework.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0038-index-user-api-and-fastapi-exploration.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0039-sdk-8-hard-cut-and-1-0-package-contract.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0040-portfolio-temporal-ownership.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0041-installable-provider-http-toolkit.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0042-position-cash-flow-portfolio-accounting.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0043-sdk-9-metatables-client-hard-cut.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0044-namespaced-migration-provider-package.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0045-squashed-initial-schema-and-namespaced-packages.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0046-legacy-0017-schema-bridge.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0048-time-index-vocabulary-rename.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/README.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/fast_api/v1/0001-calendar-crud-route.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/fast_api/v1/0002-command-center-adapter-discovery.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/fast_api/v1/0003-fixed-income-pricer-api.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/fast_api/v1/0004-delete-impact-contract.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/changelog.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/concepts.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/accounts.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/assets.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/calendars.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/command_center_bulk_actions.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/fixed_income_pricer.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/indexes.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/portfolio.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/portfolio_groups.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/portfolio_signal_metadata.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/pricing_curves.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/pricing_market_data.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/provider_adapter_toolkit.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/resource_contracts.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/settings.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/fast_api/v1/virtualfund.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/getting-started.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/img/main-sequence-markets/main_sequence_markets_alternate_lockup_black_bg.png +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/img/main-sequence-markets/main_sequence_markets_alternate_lockup_transparent.png +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/img/main-sequence-markets/main_sequence_markets_icon_emblem_black_bg.png +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/img/main-sequence-markets/main_sequence_markets_icon_emblem_transparent.png +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/img/main-sequence-markets/main_sequence_markets_market_mark_only_black_bg.png +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/img/main-sequence-markets/main_sequence_markets_market_mark_only_transparent.png +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/img/main-sequence-markets/main_sequence_markets_primary_wordmark_black_bg.png +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/img/main-sequence-markets/main_sequence_markets_primary_wordmark_transparent.png +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/accounts/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/accounts/virtual_funds.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/assets/asset_indexed_updaters.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/assets/bonds.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/assets/currency.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/assets/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/calendars/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/derivatives/futures.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/derivatives/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/execution/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/indices/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/migrations/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/models/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/platform/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/platform/meta_table_registration.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/platform/metatable_migrations.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/repositories/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/services/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_portfolios/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_portfolios/portfolios/accounting.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_pricing/analytics.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_pricing/curves.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_pricing/fixings.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_pricing/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_pricing/instruments.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_pricing/market_data_sets.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_pricing/runtime_resolution.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_pricing/scenarios/curves.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_pricing/scenarios/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_pricing/scenarios/valuation.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/planning/implementation_tasks/benchmark_curve_resolution_plan.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/planning/implementation_tasks/bond_helper_curve_reconstruction_upstream_plan.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/planning/implementation_tasks/cross_currency_helper_curve_reconstruction_upstream_plan.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/planning/implementation_tasks/generic_curve_reconstruction_upstream_plan.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/planning/implementation_tasks/generic_valuation_scenario_workflow_plan.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/planning/implementation_tasks/index_formula_and_custom_calculation_plan.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/planning/implementation_tasks/python_3_13_mainsequence_5_upgrade_plan.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/planning/implementation_tasks/reusable_valuation_portfolio_scenario_analytics_plan.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/reference/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/reference/indices.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/releasing.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/stylesheets/custom.css +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/tutorial/01-assets.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/tutorial/02-calendars.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/tutorial/03-accounts.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/tutorial/04-portfolios.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/tutorial/05-pricing.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/tutorial/06-index-formulas.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/tutorial/index.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/upgrading-to-3.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/accounts/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/accounts/account_portfolio_full_workflow.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/accounts/account_virtual_fund_allocation_example.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/accounts/utils/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/accounts/utils/reference_data.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/asset_category_workflow.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/asset_crud_workflow.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/asset_type_constants.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/bond_workflow.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/currency_spot_workflow.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/derivatives/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/derivatives/crypto_future_without_figi.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/derivatives/index_future_from_openfigi.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/us_treasury_bond_workflow.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/utils/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/assets/utils/reference_data.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/calendars/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/calendars/calendar_materialization_workflow.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/http_provider_contracts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/indices/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/indices/delta_hedged_option_index.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/indices/extension_owned_index_storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/indices/formula_index.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/indices/index_values_frequency_migration.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/indices/plain_index_values.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/platform/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/platform/bootstrap.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/platform/custom_asset_details_extension.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/platform/inspect_markets_metatable_models.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/platform/metatable_migration_lifecycle.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/workflows/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm/workflows/asset_category_workflow.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_cashflows_and_fx_valuation_example.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_custom_cashflow_model_example.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_custom_valuation_column_example.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_equal_weights_config.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_equal_weights_dynamic_migration.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_equal_weights_example.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_equal_weights_prepare_schema.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_equal_weights_run.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_groups_example.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_midnight_timestamp_repair.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_perpetual_funding_example.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_read_services.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_trailing_adv_participation_example.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_portfolios/portfolio_trailing_adv_participation_preview.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/bond_pricing_example/README.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/bond_pricing_example/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/bond_pricing_example/main.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/bond_terms.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/curve_reconstruction.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/curve_scenario.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/fixed_income_spread_analytics.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/import_pricing_runtime.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/instrument_identity_boundary.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/pricing_registry_rows.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/pricing_valuation_context.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/resolved_curve_scenario.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/utils/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/utils/mock_market_data.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/valuation_inputs.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/examples/msm_pricing/valuation_scenario_workflow.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/mkdocs.yml +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/_deprecated_imports.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/analytics/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/analytics/indices/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/analytics/indices/contracts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/analytics/indices/engine.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/analytics/indices/spreads.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/accounts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/assets.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/base.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/calendars/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/calendars/_validation.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/calendars/core.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/calendars/dates.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/calendars/events.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/calendars/sessions.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/derivatives.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/execution.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/formula_indices.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/http/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/http/_base.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/http/bulk_actions.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/http/collections.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/http/discovery.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/http/errors.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/http/operations.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/http/table_impact.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/http/tabular.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/indices.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/issuers.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/portfolios.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/api/virtual_funds.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/base.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/bootstrap.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/client/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/client/client.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/client/discovery.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/constants.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/accounts/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/accounts/constants.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/accounts/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/accounts/virtual_funds/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/accounts/virtual_funds/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/assets/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/assets/asset_indexed.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/assets/snapshots.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/assets/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/execution/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/execution/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/indices/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/indices/formula.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/indices/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/indices/timestamped.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/indices/values.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/utils/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/utils/namespaces.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/utils/output_metadata.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/utils/stamped.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/utils/storage_schema.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/data_nodes/utils/time.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/identity.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/migrations/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/accounts/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/accounts/allocation_models.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/accounts/core.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/accounts/groups.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/accounts/virtual_funds.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/assets/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/assets/bonds.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/assets/categories.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/assets/core.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/assets/currency_spot.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/assets/provider_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/assets/types.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/calendars/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/calendars/core.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/calendars/dates.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/calendars/events.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/calendars/sessions.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/derivatives.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/execution.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/index_dataset_availability.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/index_formulas.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/indices.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/issuers.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/portfolio_dataset_availability.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/portfolios/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/portfolios/core.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/portfolios/groups.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/portfolios/signals.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/models/registration.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/py.typed +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/account_allocation_models.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/account_groups.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/accounts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/asset_categories.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/assets.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/base.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/calendars/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/calendars/core.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/calendars/dates.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/calendars/events.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/calendars/sessions.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/crud.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/execution.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/indices.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/portfolios.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/provider_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/repositories/virtual_funds.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/accounts/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/accounts/account_virtual_allocations.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/accounts/core.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/accounts/virtual_fund_holdings.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/accounts/virtual_funds.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/accounts/virtual_funds_public_api.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/asset_categories.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/asset_master_lists.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/assets/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/assets/open_figi_lists/market_sector.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/assets/open_figi_lists/security_type.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/assets/open_figi_lists/security_type_2.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/assets/openfigi.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/assets/reference_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/calendars/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/calendars/materialization.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/calendars/pandas_market.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/calendars/records.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/calendars/validation.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/execution.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/holdings.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/indices/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/indices/actors.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/indices/availability.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/indices/catalog.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/indices/contracts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/indices/delete_impact.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/indices/relationships.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/portfolios.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/provider_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/public_api_settings.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/reference_data.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/related_meta_tables.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/table_impact.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/services/target_positions.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/settings.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/storage_copies.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/storage_instances.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/accounts/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/accounts/constants.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/accounts/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/accounts/virtual_funds/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/accounts/virtual_funds/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/assets/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/assets/asset_indexed.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/assets/snapshots.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/assets/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/execution/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/execution/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/indices/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/indices/formula.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/indices/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/indices/timestamped.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/indices/values.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/utils/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/utils/namespaces.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/utils/output_metadata.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/utils/stamped.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/utils/storage_schema.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm/time_index/utils/time.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_cli/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_cli/rename_preflight.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/env.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/registry.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/script.py.mako +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/versions/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/versions/mainsequence_examples/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/versions/mainsequence_markets/0017_legacy_schema_anchor.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/versions/mainsequence_markets/0018_initial_schema.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/versions/mainsequence_markets/0019_ledger_hypertable_uniqueness.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/versions/mainsequence_markets/0020_expected_columns.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/versions/mainsequence_markets/0020_merge_legacy_schema.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/versions/mainsequence_markets/0021_portfolio_dataset_catalog.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/versions/mainsequence_markets/0022_identity_named_uid_columns.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_migrations/versions/mainsequence_markets/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/accounting/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/accounting/configuration.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/accounting/contracts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/accounting/lifecycle.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/accounting/projections.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/accounting/reducer.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/accounting/valuation.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/api/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/api/datasets.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/api/market_metadata.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/api/portfolios.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/asset_scope.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/bootstrap.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/configuration.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/prices/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/prices/data_nodes.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/prices/updaters.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/prices/utils.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/signals/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/signals/external_weights.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/signals/fixed_weights.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/signals/intraday_trend.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/signals/market_cap.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/signals/portfolio_replicator.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/contrib/signals/regression_utils.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/base.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/constants.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/contract_instances.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/metadata.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/portfolio_identity.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/portfolios/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/portfolios/accounting.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/portfolios/analytics.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/portfolios/calendar_events.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/portfolios/rebalance.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/portfolios/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/portfolios/temporal.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/portfolios/weights.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/prices/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/prices/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/signals/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/signals/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/data_nodes/signals/weights.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/enums.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/models/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/models/portfolios/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/models/portfolios/metadata.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/models/rebalancing.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/models/signals.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/rebalance_strategy/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/rebalance_strategy/accounting.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/rebalance_strategy/base.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/rebalance_strategy/calendar_event.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/rebalance_strategy/immediate_signal.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/rebalance_strategy/liquidity_constrained.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/rebalance_strategy/time_weighted.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/rebalance_strategy/trailing_average_daily_volume.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/rebalance_strategy/volume_participation.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/repositories/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/repositories/market_metadata.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/services/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/services/calendars.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/services/market_metadata.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/services/portfolio_datasets.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/services/portfolio_reads.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/services/portfolio_timestamp_repair.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/services/public_api.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/services/series_moves.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/base.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/constants.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/contract_instances.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/metadata.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/portfolio_identity.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/portfolios/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/portfolios/accounting.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/portfolios/analytics.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/portfolios/calendar_events.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/portfolios/rebalance.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/portfolios/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/portfolios/temporal.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/portfolios/weights.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/prices/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/prices/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/signals/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/signals/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/time_index/signals/weights.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_portfolios/utils.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/README.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/analytics/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/analytics/spreads/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/analytics/spreads/base.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/analytics/spreads/fixed_income.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/api/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/api/asset_pricing_operations.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/api/curve_building_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/api/curves.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/api/index_convention_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/api/instruments.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/api/market_data_bindings.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/api/pricing_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/bootstrap.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/config.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_interface/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_interface/data_interface.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_nodes/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_nodes/curve_codec.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_nodes/curves/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_nodes/curves/key_nodes.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_nodes/curves/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_nodes/index_fixings/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_nodes/index_fixings/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_nodes/pricing_details/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/data_nodes/pricing_details/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/instruments/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/instruments/base_instrument.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/instruments/bond.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/instruments/bond_terms.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/instruments/callability.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/instruments/interest_rate_swap.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/instruments/json_codec.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/instruments/ql_fields.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/meta_tables.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/models/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/models/curve_building_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/models/curves.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/models/index_convention_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/models/market_data_bindings.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/models/pricing_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/bond_analytics.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/bond_pricer.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/coupon_schedules.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curve_overlays.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/adapters.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/bond_helper_key_nodes.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/bond_helpers.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/cross_currency_helpers.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/cross_currency_key_nodes.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/fixed_income_key_nodes.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/helper_key_nodes.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/helper_resolution.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/helpers.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/observations.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/quote_units.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/curves/reconstruction.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/indices.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/indices_builders.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/resolvers.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/pricing_engine/swap_pricer.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/scenarios/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/scenarios/curves/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/scenarios/curves/engine.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/scenarios/curves/key_node_bumps.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/scenarios/curves/models.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/scenarios/valuation/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/scenarios/valuation/engine.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/scenarios/valuation/impacts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/scenarios/valuation/line_pricing.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/scenarios/valuation/models.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/settings.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/time_index/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/time_index/curve_codec.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/time_index/curves/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/time_index/curves/key_nodes.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/time_index/curves/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/time_index/index_fixings/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/time_index/index_fixings/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/time_index/pricing_details/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/time_index/pricing_details/storage.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/utils.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/src/msm_pricing/valuation.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/PINNED_FROM.txt +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/README.md +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-discovery-v1.inline-health-endpoint.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-discovery-v1.retired-response-mappings.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-discovery-v1.unknown-operation-field.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-public-config-v1.direct-source-mismatch.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-query-v1.retired-response-mapping-id.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-query-v1.unknown-field.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-secure-config-v1.unknown-field.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/app-component-authoring-v1.invalid-binding-port.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/app-component-authoring-v1.invalid-mock-version.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-discovery-v1.duplicate-selection-mode.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-discovery-v1.unsafe-endpoint.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-execution-v1.empty-explicit.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-execution-v1.presentation-filter.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-preflight-v1.invalid-blockers.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-preflight-v1.missing-allowed.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/resource-collection-v1.negative-total.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/resource-collection-v1.select-without-options.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/resource-discovery-v1.incomplete-generic-column.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/resource-discovery-v1.unknown-field.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/resource-discovery-v1.unsafe-identity.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/static-site-iframe-v1.invalid-target-uid.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/static-site-iframe-v1.missing-token.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/static-site-iframe-v1.unknown-credential-error.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/static-site-iframe-v1.unrestricted-user-credential.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/static-site-iframe-v1.wrong-version.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/table-widget-authoring-v1.community-formula.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/table-widget-authoring-v1.invalid-selection.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/table-widget-authoring-v1.unknown-widget.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-frame-v1.invalid-table-visuals.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-frame-v1.long-with-value-fields.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-frame-v1.missing-rows.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-frame-v1.unknown-field-type.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-transform-authoring-v1.incomplete-pivot.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-transform-authoring-v1.latest-without-keys.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/workspace-document-v1.missing-id.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/workspace-document-v1.numeric-id.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/adapter-from-api-discovery-v1.orders.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/adapter-from-api-public-config-v1.backend.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/adapter-from-api-public-config-v1.direct.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/adapter-from-api-query-v1.operation.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/adapter-from-api-secure-config-v1.values.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/app-component-authoring-v1.manual.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/app-component-authoring-v1.mock-json.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-discovery-v1.archive.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-discovery-v1.empty.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-execution-v1.all-matching.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-execution-v1.explicit.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-preflight-v1.allowed.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-preflight-v1.blocked.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/resource-collection-v1.minimal.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/resource-collection-v1.with-controls.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/resource-discovery-v1.records.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.fastapi-credential-error.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.fastapi-credential-request.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.fastapi-credential-response.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.fastapi-runtime-starting.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.initialize.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.ready.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/table-widget-authoring-v1.pro-table.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/table-widget-authoring-v1.table.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/tabular-frame-v1.minimal.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/tabular-frame-v1.table-visuals.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/tabular-frame-v1.time-series.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/tabular-transform-authoring-v1.filter.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/tabular-transform-authoring-v1.pivot-latest.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/workspace-document-v1.minimal.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/workspace-document-v1.nested.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/manifest.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/adapter-from-api-discovery-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/adapter-from-api-public-config-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/adapter-from-api-query-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/adapter-from-api-secure-config-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/app-component-authoring-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/bulk-action-discovery-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/bulk-action-execution-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/bulk-action-preflight-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/resource-collection-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/resource-discovery-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/static-site-iframe-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/table-widget-authoring-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/tabular-frame-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/tabular-transform-authoring-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/contracts/command-center-sdk-v0.1.13/schemas/workspace-document-v1.schema.json +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/identity/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/identity/test_date_and_time_identities.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/identity/test_pinned_identities.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/calendars/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/calendars/test_rows.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_assets.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_bonds.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_composite_bulk_reads.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_derivatives.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_http.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_indices.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_issuers.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_portfolio_groups.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_renamed_fields.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_row_bulk_and_count.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/api/test_rows.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/assets/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/assets/test_asset_snapshots.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/assets/test_openfigi.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/bootstrap/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/bootstrap/test_bootstrap.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/client/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/client/test_discovery.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/client/test_remote_attachment.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_accounts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_acting_identity.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_asset_categories.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_assets.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_batch_lookups.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_bulk_action_contracts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_bulk_actions.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_calendars.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_catalog_aware_deletes.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_command_center_adapter.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_common.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_deployment_entrypoint.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_dev_cors.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_index_formula_routes.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_indices.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_lifespan_discovery.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_openapi.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_portfolio_groups.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_portfolio_signals.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_portfolios.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_pricing_assets.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_pricing_curves.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_pricing_market_data.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_request_identity.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_runtime_bootstrap.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_settings.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_sidecar_includes.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/fastapi/v1/test_virtual_funds.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/imports/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/imports/test_import.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_engine.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_examples.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_formula_index_contract.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_index_actor.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_index_availability.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_index_delete_impact.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_index_lifecycle_services.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_index_values.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_models_and_migration.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_provider_index_values.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_public_api.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_related_meta_tables.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_resolution_and_repository.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_spread_compatibility.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/indices/test_updaters.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/maintenance/fixtures/legacy_0017.sql +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/maintenance/test_identity_named_uid_columns_migration.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/maintenance/test_ledger_hypertable_migration.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/maintenance/test_legacy_schema_migration.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/maintenance/test_migration_job.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/maintenance/test_migrations.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/models/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/models/calendars/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/models/calendars/test_tables.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/models/test_metatable_models.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/repositories/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/repositories/test_renamed_columns.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/repositories/test_repositories.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/services/assets/test_reference_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/services/calendars/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/services/calendars/test_materialization.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/services/test_account_virtual_allocations.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/services/test_latest_asset_references.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/services/test_table_impact.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/test_cli.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/test_constants.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/test_package_metadata.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/test_rename_preflight.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/test_schema_names.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/test_storage_copies.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/test_storage_instances.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/time_index/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/time_index/test_asset_indexed_updaters.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/time_index/test_contracts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/time_index/test_datetime_normalization.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/time_index/test_deprecated_aliases.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/time_index/test_index_stamped_updaters.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/time_index/test_package_structure.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/time_index/test_provisioning_boundary.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm/time_index/test_target_positions_contracts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/accounting/test_accounting.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/api/test_rows.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/configuration/test_prices_configuration.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/examples/test_equal_weight_portfolio_schema.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/examples/test_trailing_adv_participation_preview.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/imports/test_bootstrap.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/imports/test_boundaries.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/models/test_model_graph.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/services/test_calendars.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/services/test_portfolio_datasets.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/services/test_portfolio_reads.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/services/test_portfolio_timestamp_repair.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/services/test_series_moves.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/test_portfolios_logger.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/time_index/test_contract_instances.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/time_index/test_daily_price_interpolation.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/time_index/test_datetime_normalization.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/time_index/test_engine_instance_tables.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/time_index/test_portfolio_contracts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/time_index/test_storage_first_surface.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_portfolios/time_index/test_virtual_fund_holdings_contracts.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/analytics/spreads/test_base.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/analytics/spreads/test_fixed_income.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/api/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/api/test_asset_pricing_operations.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/api/test_curve_building_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/api/test_curves.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/api/test_index_convention_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/api/test_instruments.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/api/test_market_data_bindings.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/api/test_pricing_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/data_interface/test_data_interface.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/examples/test_mock_market_data.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/instruments/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/instruments/test_base_instrument.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/instruments/test_benchmark_curve_resolution.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/instruments/test_bond_terms.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/instruments/test_floating_bond_roundtrip.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/instruments/test_index_uid_references.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/models/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/models/test_pricing_details.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/pricing_engine/curves/test_bond_helper_reconstruction.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/pricing_engine/curves/test_bond_helpers.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/pricing_engine/curves/test_cross_currency_helpers.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/pricing_engine/curves/test_reconstruction.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/pricing_engine/test_curve_overlays.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/pricing_engine/test_resolvers.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/scenarios/curves/test_curve_scenarios.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/scenarios/curves/test_key_node_bumps.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/scenarios/curves/test_resolved_curve_scenarios.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/scenarios/valuation/test_line_pricing.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/scenarios/valuation/test_workflow.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/test_bond_pricing_example.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/test_bootstrap.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/test_config.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/test_meta_tables.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/test_package_boundaries.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/test_valuation.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/time_index/test_curves.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/msm_pricing/time_index/test_index_fixings.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/packaging/__init__.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/packaging/test_dev_release_version.py +0 -0
- {ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/tests/packaging/test_distribution_sources.py +0 -0
|
@@ -7,6 +7,15 @@ and this project follows versioned releases.
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
### Removed
|
|
11
|
+
|
|
12
|
+
- The registry write allow-list of 3.0.0: `apps.v1.policy` and the Main Sequence
|
|
13
|
+
Constant `MARKETS_REGISTRY_WRITERS`. Which applications may trigger registry
|
|
14
|
+
writes is the platform's grant: an application reaches the Markets API only
|
|
15
|
+
when its workflow grants it the `MainSequenceMarkets` branch, and every
|
|
16
|
+
caller the API admits may write. `registry_write` still records the acting
|
|
17
|
+
identity of every write. A deployment that created the constant can delete it.
|
|
18
|
+
|
|
10
19
|
## [3.0.0] - 2026-10-26
|
|
11
20
|
|
|
12
21
|
Breaking release 3.0.0. It renames the DataNode vocabulary to the MetaTables
|
|
@@ -287,6 +296,19 @@ portfolio and strategy identities do not change. Dependent packages declare
|
|
|
287
296
|
|
|
288
297
|
### Fixed
|
|
289
298
|
|
|
299
|
+
- Every hosted rollout since 2026-10-21 stopped at the `migrate-markets` Job
|
|
300
|
+
with `No package metadata was found for ms-markets`. Main Sequence images no
|
|
301
|
+
longer install the repository itself (platform ADR-080); Jobs and the Markets
|
|
302
|
+
API import it from `/workspace`. `msm`, the API and the CLI now read the version
|
|
303
|
+
through `msm.distribution.package_version()`, which falls back to the
|
|
304
|
+
checkout's `pyproject.toml` when the distribution is not installed.
|
|
305
|
+
|
|
306
|
+
- `requirements.txt`, the only dependency input of a Main Sequence image, still
|
|
307
|
+
pinned `mainsequence-metatable==0.1.51` after the floor moved to 0.1.57, so the
|
|
308
|
+
image lacked `metatables.envelope_contract`. It is regenerated with
|
|
309
|
+
`mainsequence code-repository sync`, and a test now fails when its pins differ
|
|
310
|
+
from `uv.lock`.
|
|
311
|
+
|
|
290
312
|
- A storage instance built on a provider's declarative base copied each
|
|
291
313
|
referenced Markets table whole, with that table's own foreign keys to tables
|
|
292
314
|
that were not copied, so the provider's `metadata.sorted_tables` and Alembic
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: ms-markets
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.1.dev41
|
|
4
4
|
Summary: Financial markets ORM, engines, and application management extensions for Main Sequence.
|
|
5
5
|
Project-URL: Changelog, https://github.com/mainsequence-projects/MainSequenceMarkets/blob/main/CHANGELOG.md
|
|
6
6
|
Project-URL: Source, https://github.com/mainsequence-projects/MainSequenceMarkets
|
{ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/ADR/0047-markets-api-application-boundary.md
RENAMED
|
@@ -154,10 +154,11 @@ Organization admin can enable it: the declaration takes effect only when the
|
|
|
154
154
|
person who pushes it is an Organization admin, and otherwise the resource fails
|
|
155
155
|
before it deploys. Services enforce
|
|
156
156
|
domain policy: ownership and Team scoping for
|
|
157
|
-
portfolios, accounts, indexes and formula definitions
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
157
|
+
portfolios, accounts, indexes and formula definitions. Writes keep running as
|
|
158
|
+
the Markets workload, whose Writer grant is the single place writes are
|
|
159
|
+
allowed. Which applications may trigger them is the platform's grant: an
|
|
160
|
+
application reaches the Markets API only when its workflow grants it the
|
|
161
|
+
`MainSequenceMarkets` branch.
|
|
161
162
|
|
|
162
163
|
### 4. Provider-owned namespaces and sidecars
|
|
163
164
|
|
|
@@ -393,13 +394,9 @@ Deviations and open items:
|
|
|
393
394
|
- Ownership and Team scoping policies are not enforced yet; the helper gives
|
|
394
395
|
every service one identity to authorize against, and the platform's own
|
|
395
396
|
grants still apply to requester-bound reads.
|
|
396
|
-
- Application-level permission
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
User uid for that resource or for `"*"`; otherwise the route returns `403`.
|
|
400
|
-
People, requester-bound calls, Organization admins and calls outside a
|
|
401
|
-
request are not restricted by it. A missing constant allows no application;
|
|
402
|
-
an unreadable or malformed one fails closed with `503`.
|
|
397
|
+
- Application-level permission is the platform's grant, not a Markets
|
|
398
|
+
setting: an application whose workflow grants it the `MainSequenceMarkets`
|
|
399
|
+
branch reaches the API and may trigger registry writes.
|
|
403
400
|
- `acts_for_requester: true` on the `markets-api` resource is required for a
|
|
404
401
|
requester to be present. It is declared in
|
|
405
402
|
`.mainsequence/workflows/ms-markets-api.yaml`, and it takes effect only when
|
|
@@ -419,7 +416,7 @@ route for:
|
|
|
419
416
|
rebalancing uses, and the instance methods `FormulaIndex.activate()` and
|
|
420
417
|
`retire()`. Schedules now read `CalendarSession.filter` with range bounds;
|
|
421
418
|
activation and retirement go through `FormulaIndex.activate_definition` and
|
|
422
|
-
`retire_definition`, which are
|
|
419
|
+
`retire_definition`, which are registry writes.
|
|
423
420
|
- Added reads: `filter`/`count` range lookups (`__gte`, `__gt`, `__lte`,
|
|
424
421
|
`__lt`); `AssetSnapshots.latest` by identifier, uid or ticker; `offset` on
|
|
425
422
|
`GET /portfolio/values/`, which `MarketsClient.portfolio_values` uses to page
|
|
@@ -484,8 +481,8 @@ application still installs `ms-markets`. Deviations and refinements:
|
|
|
484
481
|
branch, as the Markets API does for MetaTables.
|
|
485
482
|
- Remote `delete` runs the resource's service delete with its preflight
|
|
486
483
|
checks, and exists only where one exists.
|
|
487
|
-
- Registry writes through these routes
|
|
488
|
-
|
|
484
|
+
- Registry writes through these routes run through `registry_write`, like the
|
|
485
|
+
service routes.
|
|
489
486
|
|
|
490
487
|
### 2026-10-25: step 1, missing routes
|
|
491
488
|
|
|
@@ -223,42 +223,11 @@ write and, after a successful write, records resource, action, row uid and the
|
|
|
223
223
|
acting identity's uid and kind on the `apps.v1.identity` logger. No registry
|
|
224
224
|
table has an author or owner column yet; when one does, the same hook supplies
|
|
225
225
|
its value. Writes keep running as the Markets workload, whose `data_writer`
|
|
226
|
-
role on `mainsequence.markets` is the single place writes are allowed
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
| Acting identity | Registry writes |
|
|
233
|
-
|---|---|
|
|
234
|
-
| none (Markets' own Jobs, scripts, direct service calls) | allowed |
|
|
235
|
-
| a requester-bound call (a person acting through an application) | allowed |
|
|
236
|
-
| an Organization admin | allowed |
|
|
237
|
-
| a person calling directly | allowed |
|
|
238
|
-
| an application (workload identity) listed for the resource | allowed |
|
|
239
|
-
| any other application | `403` |
|
|
240
|
-
|
|
241
|
-
The allow-list is the Main Sequence Constant `MARKETS_REGISTRY_WRITERS` in the
|
|
242
|
-
Markets deployment's Environment: a JSON object that maps a registry resource,
|
|
243
|
-
as `registry_write` names it (`account`, `asset`, `asset-category`, `calendar`,
|
|
244
|
-
`index`, `portfolio`, `portfolio-group`, `portfolio-signal`, `pricing-curve`,
|
|
245
|
-
`pricing-market-data` and the resources added with the provider write routes), or
|
|
246
|
-
`"*"`, to the User uids of the applications allowed to write it:
|
|
247
|
-
|
|
248
|
-
```json
|
|
249
|
-
{"asset": ["<provider workload user uid>"], "*": ["<trusted workload user uid>"]}
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
A missing constant allows no application. A value that is not such an object,
|
|
253
|
-
or a constant the Markets workload cannot read, refuses every application write
|
|
254
|
-
with `503`. Whether a caller is a person or an application is read from its
|
|
255
|
-
User once and cached for ten minutes; the SDK caches the constant for ten
|
|
256
|
-
minutes as well, so an edit takes effect within that time. The Markets workload
|
|
257
|
-
needs `reader` on the constant:
|
|
258
|
-
|
|
259
|
-
```bash
|
|
260
|
-
mainsequence constants access grant <MARKETS_REGISTRY_WRITERS constant uid> reader --user <markets workload user uid>
|
|
261
|
-
```
|
|
226
|
+
role on `mainsequence.markets` is the single place writes are allowed. Who may
|
|
227
|
+
trigger them is the platform's grant: an application's workload reaches the
|
|
228
|
+
Markets API only when its workflow grants it the `MainSequenceMarkets` branch
|
|
229
|
+
(see the [client guide](../../knowledge/msm/client/index.md)), and every caller
|
|
230
|
+
the API admits, person or application, may trigger registry writes.
|
|
262
231
|
|
|
263
232
|
A requester is only present when the `markets-api` resource declares
|
|
264
233
|
`acts_for_requester: true` in `.mainsequence/workflows/ms-markets-api.yaml`.
|
|
@@ -49,8 +49,7 @@ Writes (`create`, `upsert`, `update`, `delete`, `add`, `bulk_delete`,
|
|
|
49
49
|
`create_from_pandas_calendar`, `reconcile_dataset_availability`, `upsert_many`,
|
|
50
50
|
`add_many`, `create_index_curve_selection`, `upsert_index_curve_selection`,
|
|
51
51
|
`publish`, `register`, `register_signal`, `unregister`, `unregister_signal`, `reconcile`, `activate_definition`,
|
|
52
|
-
`retire_definition`) run through `registry_write`,
|
|
53
|
-
applies to applications.
|
|
52
|
+
`retire_definition`) run through `registry_write`, which records who made them.
|
|
54
53
|
A table row class's `delete` runs the resource's service delete with its
|
|
55
54
|
preflight checks and exists only for `asset`, `asset-category`, `calendar`,
|
|
56
55
|
`index`, `portfolio` and `portfolio-group`. Composites that implement `delete`
|
|
@@ -67,8 +66,7 @@ the `msm_pricing.api` composites (`curve`, `curve-building-details`,
|
|
|
67
66
|
| Status | Meaning | `error_type` |
|
|
68
67
|
|---|---|---|
|
|
69
68
|
| 400 | Invalid arguments | `ValueError`, `TypeError` |
|
|
70
|
-
| 403 | The
|
|
69
|
+
| 403 | The operation refused the acting identity | `PermissionError` or a subclass |
|
|
71
70
|
| 404 | Unknown resource or operation, or the row was not found | `LookupError` |
|
|
72
71
|
| 409 | The operation conflicted with existing rows | the conflict class name |
|
|
73
72
|
| 501 | The operation is not offered remotely | `NotImplementedError` |
|
|
74
|
-
| 503 | The registry write policy could not be read | |
|
|
@@ -61,14 +61,12 @@ access:
|
|
|
61
61
|
| `MARKETS_API_RELEASE_UID` | Use this release instead of searching. |
|
|
62
62
|
| `MARKETS_API_RELEASE_NAME`, `MARKETS_API_REPOSITORY_NAME` | Search for another release or repository name. |
|
|
63
63
|
|
|
64
|
-
## Writes
|
|
64
|
+
## Writes
|
|
65
65
|
|
|
66
66
|
Every create, upsert, update and delete runs through the Markets API's
|
|
67
|
-
`registry_write`,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
write raises `msm.api.remote.MarketsAccessError`, a `PermissionError`. See
|
|
71
|
-
[the FastAPI guide](../../../fast_api/v1/index.md) for the constant's format.
|
|
67
|
+
`registry_write`, which records the acting identity on the API's audit log. Any
|
|
68
|
+
workload the platform admits to the Markets API may write; a refused operation
|
|
69
|
+
(`403`) raises `msm.api.remote.MarketsAccessError`, a `PermissionError`.
|
|
72
70
|
|
|
73
71
|
A table row class's remote `delete` runs the resource's service delete, with
|
|
74
72
|
its preflight checks, and exists only for `asset`, `asset-category`,
|
|
@@ -143,7 +141,6 @@ AssetSnapshots.publish([{"asset_identifier": "ACME", "time_index": as_of, "name"
|
|
|
143
141
|
current = AssetSnapshots.latest(tickers=["ACME"])
|
|
144
142
|
```
|
|
145
143
|
|
|
146
|
-
Their write-policy resources are `account-holdings` and `asset-snapshots`.
|
|
147
144
|
`AssetSnapshots.latest` takes exactly one of `asset_identifiers`, `asset_uids`
|
|
148
145
|
or `tickers` and returns each existing asset with its latest snapshot
|
|
149
146
|
(`AssetSnapshotReference`: name, ticker, exchange code, snapshot time; `None`
|
{ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm/indices/formula_indexes.md
RENAMED
|
@@ -153,7 +153,7 @@ Activating a successor closes the open predecessor at the successor's
|
|
|
153
153
|
`valid_from`. Retired versions cannot be reactivated. `activate()` and
|
|
154
154
|
`retire()` call the class methods `FormulaIndex.activate_definition(uid)` and
|
|
155
155
|
`FormulaIndex.retire_definition(uid, valid_to=...)`, so they also run under the
|
|
156
|
-
remote row backend
|
|
156
|
+
remote row backend.
|
|
157
157
|
|
|
158
158
|
## Preview Persisted Formulas
|
|
159
159
|
|
{ms_markets-3.0.0.dev39 → ms_markets-3.0.1.dev41}/docs/knowledge/msm_portfolios/portfolios/index.md
RENAMED
|
@@ -467,7 +467,7 @@ enters `update_hash`.
|
|
|
467
467
|
An application on the remote row backend registers and reconciles the catalog
|
|
468
468
|
with `msm_portfolios.api.datasets.PortfolioDatasets.register(...)`,
|
|
469
469
|
`.reconcile(...)` and `.get(...)`, which run the services below on the Markets
|
|
470
|
-
API
|
|
470
|
+
API. `register` binds the
|
|
471
471
|
portfolio's current signal; `PortfolioDatasets.register_signal({"signal_uid":
|
|
472
472
|
..., "signal_meta_table_uid": ...})` binds any other signal, such as the earlier
|
|
473
473
|
signals of a producer whose signal uid changes each run, after verifying the
|
|
@@ -587,8 +587,8 @@ first on a rollback. Calendar events are not copied: the engine rebuilds them.
|
|
|
587
587
|
run the moves a provider callable returns (it receives `rollback=` when it
|
|
588
588
|
accepts that argument); without `--execute` they only count.
|
|
589
589
|
The operator needs `data_viewer` on the tables read, write access to the tables
|
|
590
|
-
written (a rollback writes the core tables)
|
|
591
|
-
|
|
590
|
+
written (a rollback writes the core tables); pause the provider's runs while a
|
|
591
|
+
move or rollback runs.
|
|
592
592
|
|
|
593
593
|
## Repair legacy midnight-indexed portfolio values
|
|
594
594
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Design note, drafted 2026-10-25 for [ADR 0047](../../ADR/0047-markets-api-application-boundary.md)
|
|
6
6
|
decision 2 and migration path step 2. Updated 2026-10-26: the remote row
|
|
7
|
-
backend
|
|
7
|
+
backend and `msm.client` are implemented, with the
|
|
8
8
|
deviations recorded in the ADR's "step 2" implementation note (per-method
|
|
9
9
|
dispatch instead of a `RowBackend` protocol, mixed backends per row class,
|
|
10
10
|
release name `api`). The distribution split (order of work, step 5) is not. Step 1
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ms-markets"
|
|
7
|
-
version = "3.0.
|
|
7
|
+
version = "3.0.1.dev41"
|
|
8
8
|
description = "Financial markets ORM, engines, and application management extensions for Main Sequence."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13,<3.14"
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from importlib.metadata import version as _package_version
|
|
4
|
-
|
|
5
3
|
from msm.bootstrap import start_engine
|
|
4
|
+
from msm.distribution import package_version
|
|
6
5
|
from msm.constants import (
|
|
7
6
|
ASSET_TYPE_BOND,
|
|
8
7
|
ASSET_TYPE_CRYPTO,
|
|
@@ -30,7 +29,7 @@ from msm.constants import (
|
|
|
30
29
|
INDEX_TYPE_INTEREST_RATE_DEFINITION,
|
|
31
30
|
)
|
|
32
31
|
|
|
33
|
-
__version__ =
|
|
32
|
+
__version__ = package_version()
|
|
34
33
|
|
|
35
34
|
|
|
36
35
|
__all__ = [
|
|
@@ -75,7 +75,7 @@ WRITE_OPERATIONS = frozenset(
|
|
|
75
75
|
}
|
|
76
76
|
)
|
|
77
77
|
"""Operations that create, update or delete registry rows; the API wraps them in
|
|
78
|
-
``registry_write
|
|
78
|
+
``registry_write``, which records who made them."""
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
class RemoteBackend(Protocol):
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""The ms-markets version, whether installed or run from its source checkout."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import tomllib
|
|
6
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
DISTRIBUTION_NAME = "ms-markets"
|
|
10
|
+
SOURCE_CHECKOUT_ROOT = Path(__file__).resolve().parents[2]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def package_version() -> str:
|
|
14
|
+
"""Return the installed ms-markets version, else the one its checkout declares.
|
|
15
|
+
|
|
16
|
+
Main Sequence images run this repository from ``/workspace`` without
|
|
17
|
+
installing it (platform ADR-080), so a Job or the Markets API has no package
|
|
18
|
+
metadata for ``ms-markets``. Its ``pyproject.toml`` declares the version.
|
|
19
|
+
"""
|
|
20
|
+
try:
|
|
21
|
+
return version(DISTRIBUTION_NAME)
|
|
22
|
+
except PackageNotFoundError:
|
|
23
|
+
pyproject = SOURCE_CHECKOUT_ROOT / "pyproject.toml"
|
|
24
|
+
if not pyproject.is_file():
|
|
25
|
+
raise RuntimeError("ms-markets package metadata is unavailable.") from None
|
|
26
|
+
project = tomllib.loads(pyproject.read_text(encoding="utf-8")).get("project", {})
|
|
27
|
+
declared = project.get("version")
|
|
28
|
+
if project.get("name") != DISTRIBUTION_NAME or not isinstance(declared, str) or not declared.strip():
|
|
29
|
+
raise RuntimeError("ms-markets package version is unavailable.") from None
|
|
30
|
+
return declared
|
|
@@ -3,8 +3,6 @@ from __future__ import annotations
|
|
|
3
3
|
import argparse
|
|
4
4
|
import json
|
|
5
5
|
import sys
|
|
6
|
-
import tomllib
|
|
7
|
-
from importlib.metadata import PackageNotFoundError, distribution
|
|
8
6
|
from pathlib import Path
|
|
9
7
|
from typing import Any
|
|
10
8
|
|
|
@@ -149,13 +147,15 @@ def copy_msm_skills_command(
|
|
|
149
147
|
code_repository_dir = path.expanduser().resolve(strict=False)
|
|
150
148
|
destination_root = code_repository_dir / ".agents" / "skills" / MSM_SKILL_NAMESPACE
|
|
151
149
|
source_label = _source_root_label(source_root)
|
|
150
|
+
from msm.distribution import package_version
|
|
151
|
+
|
|
152
152
|
try:
|
|
153
153
|
result = copy_scaffold_skills(
|
|
154
154
|
code_repository_dir=code_repository_dir,
|
|
155
155
|
library_name="ms-markets",
|
|
156
156
|
namespace=MSM_SKILL_NAMESPACE,
|
|
157
157
|
skills_path=source_root,
|
|
158
|
-
pinned_version=
|
|
158
|
+
pinned_version=package_version(),
|
|
159
159
|
command=MSM_SKILL_COPY_COMMAND,
|
|
160
160
|
dry_run=dry_run,
|
|
161
161
|
code_repository_guard=_copy_msm_skills_block_reason,
|
|
@@ -359,20 +359,6 @@ def _same_or_inside_path(path: Path, possible_parent: Path) -> bool:
|
|
|
359
359
|
return resolved_path == resolved_parent or resolved_path.is_relative_to(resolved_parent)
|
|
360
360
|
|
|
361
361
|
|
|
362
|
-
def _ms_markets_version() -> str:
|
|
363
|
-
try:
|
|
364
|
-
return distribution("ms-markets").version
|
|
365
|
-
except PackageNotFoundError:
|
|
366
|
-
pyproject = _ms_markets_source_checkout_root() / "pyproject.toml"
|
|
367
|
-
if not pyproject.is_file():
|
|
368
|
-
raise RuntimeError("ms-markets package metadata is unavailable.")
|
|
369
|
-
project_config = tomllib.loads(pyproject.read_text(encoding="utf-8"))
|
|
370
|
-
version = project_config.get("project", {}).get("version")
|
|
371
|
-
if not isinstance(version, str) or not version.strip():
|
|
372
|
-
raise RuntimeError("ms-markets package version is unavailable.")
|
|
373
|
-
return version
|
|
374
|
-
|
|
375
|
-
|
|
376
362
|
def _print_table(title: str, headers: list[str], rows: list[list[Any]]) -> None:
|
|
377
363
|
print(title)
|
|
378
364
|
if not rows:
|
|
@@ -129,20 +129,3 @@ def offline_postgresql_runtime(monkeypatch):
|
|
|
129
129
|
|
|
130
130
|
monkeypatch.setattr(metatables.runtime_context, "get_runtime_context", get_runtime_context)
|
|
131
131
|
return runtime
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
@pytest.fixture(autouse=True)
|
|
135
|
-
def offline_registry_write_policy(monkeypatch):
|
|
136
|
-
"""Evaluate the registry write policy without the platform (ADR 0047).
|
|
137
|
-
|
|
138
|
-
By default no application is on the allow-list and every caller is a
|
|
139
|
-
person, which is how the API behaved before the policy. Policy tests replace
|
|
140
|
-
these with ``monkeypatch``.
|
|
141
|
-
"""
|
|
142
|
-
|
|
143
|
-
from apps.v1 import policy
|
|
144
|
-
|
|
145
|
-
monkeypatch.setattr(
|
|
146
|
-
policy, "load_registry_writer_policy", lambda: policy.RegistryWriterPolicy(writers={})
|
|
147
|
-
)
|
|
148
|
-
monkeypatch.setattr(policy, "resolve_identity_type", lambda uid: "human")
|
|
@@ -17,7 +17,6 @@ from typing import Any
|
|
|
17
17
|
import pytest
|
|
18
18
|
from fastapi.testclient import TestClient
|
|
19
19
|
|
|
20
|
-
from apps.v1 import policy
|
|
21
20
|
from apps.v1.main import app
|
|
22
21
|
from msm.api.accounts import Account
|
|
23
22
|
from msm.api.assets import Asset, AssetCategory, CurrencySpot
|
|
@@ -218,28 +217,6 @@ def test_validation_errors_come_back_as_value_errors(remote) -> None:
|
|
|
218
217
|
Asset.upsert(asset_type="equity")
|
|
219
218
|
|
|
220
219
|
|
|
221
|
-
def test_the_write_policy_applies_to_remote_writes(monkeypatch, remote) -> None:
|
|
222
|
-
monkeypatch.setattr(policy, "resolve_identity_type", lambda uid: "workload")
|
|
223
|
-
monkeypatch.setattr(
|
|
224
|
-
"msm.repositories.crud.upsert_model",
|
|
225
|
-
lambda *args, **kwargs: pytest.fail("a refused write must not reach the runtime"),
|
|
226
|
-
)
|
|
227
|
-
|
|
228
|
-
with pytest.raises(MarketsAccessError, match="MARKETS_REGISTRY_WRITERS"):
|
|
229
|
-
Asset.upsert(unique_identifier="ACME")
|
|
230
|
-
assert isinstance(MarketsAccessError("x"), PermissionError)
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
def test_reads_are_not_subject_to_the_write_policy(monkeypatch, remote) -> None:
|
|
234
|
-
monkeypatch.setattr(policy, "resolve_identity_type", lambda uid: "workload")
|
|
235
|
-
monkeypatch.setattr(
|
|
236
|
-
"msm.repositories.crud.get_model_by_uid",
|
|
237
|
-
lambda context, *, model, uid: {"rows": []},
|
|
238
|
-
)
|
|
239
|
-
|
|
240
|
-
assert Asset.get_by_uid(uuid.uuid4()) is None
|
|
241
|
-
|
|
242
|
-
|
|
243
220
|
def test_start_engine_attaches_nothing_under_the_remote_backend(monkeypatch, remote) -> None:
|
|
244
221
|
monkeypatch.setattr(
|
|
245
222
|
"msm.bootstrap.start_engine",
|
|
@@ -410,15 +387,20 @@ def test_holdings_and_snapshots_publish_through_markets(monkeypatch, remote) ->
|
|
|
410
387
|
("formula-index", "retire_definition", {"definition_uid": str(uuid.uuid4())}),
|
|
411
388
|
],
|
|
412
389
|
)
|
|
413
|
-
def
|
|
390
|
+
def test_every_publication_and_catalog_write_is_a_registry_write(
|
|
414
391
|
monkeypatch, remote, resource, operation, arguments
|
|
415
392
|
) -> None:
|
|
416
393
|
from msm.api.remote import WRITE_OPERATIONS
|
|
417
394
|
|
|
418
|
-
|
|
395
|
+
def resolve() -> None:
|
|
396
|
+
raise PermissionError("registry_write resolved the acting identity")
|
|
397
|
+
|
|
398
|
+
# registry_write resolves the acting identity before the operation runs; the
|
|
399
|
+
# refusal comes back as the client's PermissionError.
|
|
400
|
+
monkeypatch.setattr("apps.v1.identity.acting_identity", resolve)
|
|
419
401
|
|
|
420
402
|
assert operation in WRITE_OPERATIONS
|
|
421
|
-
with pytest.raises(MarketsAccessError, match="
|
|
403
|
+
with pytest.raises(MarketsAccessError, match="registry_write resolved the acting identity"):
|
|
422
404
|
remote.client.run_row_operation(resource, operation, arguments)
|
|
423
405
|
|
|
424
406
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""ms-markets must know its version when Main Sequence runs it without installing it."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import re
|
|
6
|
+
import tomllib
|
|
7
|
+
from importlib.metadata import PackageNotFoundError
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
import pytest
|
|
11
|
+
|
|
12
|
+
from msm import distribution
|
|
13
|
+
|
|
14
|
+
REPOSITORY_ROOT = Path(__file__).resolve().parents[2]
|
|
15
|
+
DECLARED_VERSION = tomllib.loads((REPOSITORY_ROOT / "pyproject.toml").read_text(encoding="utf-8"))[
|
|
16
|
+
"project"
|
|
17
|
+
]["version"]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def _not_installed(name: str) -> str:
|
|
21
|
+
raise PackageNotFoundError(name)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def test_installed_metadata_is_preferred(monkeypatch):
|
|
25
|
+
monkeypatch.setattr(distribution, "version", lambda name: "9.9.9")
|
|
26
|
+
|
|
27
|
+
assert distribution.package_version() == "9.9.9"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def test_source_checkout_declares_the_version_when_not_installed(monkeypatch):
|
|
31
|
+
# Main Sequence images run /workspace via PYTHONPATH without installing it (ADR-080).
|
|
32
|
+
monkeypatch.setattr(distribution, "version", _not_installed)
|
|
33
|
+
|
|
34
|
+
assert distribution.package_version() == DECLARED_VERSION
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def test_missing_checkout_and_metadata_fail_clearly(monkeypatch, tmp_path):
|
|
38
|
+
monkeypatch.setattr(distribution, "version", _not_installed)
|
|
39
|
+
monkeypatch.setattr(distribution, "SOURCE_CHECKOUT_ROOT", tmp_path)
|
|
40
|
+
|
|
41
|
+
with pytest.raises(RuntimeError, match="metadata is unavailable"):
|
|
42
|
+
distribution.package_version()
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def test_another_projects_pyproject_is_not_read_as_ms_markets(monkeypatch, tmp_path):
|
|
46
|
+
(tmp_path / "pyproject.toml").write_text('[project]\nname = "other"\nversion = "1.0.0"\n', encoding="utf-8")
|
|
47
|
+
monkeypatch.setattr(distribution, "version", _not_installed)
|
|
48
|
+
monkeypatch.setattr(distribution, "SOURCE_CHECKOUT_ROOT", tmp_path)
|
|
49
|
+
|
|
50
|
+
with pytest.raises(RuntimeError, match="version is unavailable"):
|
|
51
|
+
distribution.package_version()
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def test_only_the_distribution_module_reads_ms_markets_metadata():
|
|
55
|
+
lookup = re.compile(r"""(version|distribution|metadata)\(\s*["']ms-markets["']""")
|
|
56
|
+
offenders = [
|
|
57
|
+
str(path.relative_to(REPOSITORY_ROOT))
|
|
58
|
+
for root in ("src", "apps", "jobs")
|
|
59
|
+
for path in (REPOSITORY_ROOT / root).rglob("*.py")
|
|
60
|
+
if lookup.search(path.read_text(encoding="utf-8"))
|
|
61
|
+
]
|
|
62
|
+
|
|
63
|
+
assert offenders == []
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"""Main Sequence images install requirements.txt only, so it must match uv.lock."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import re
|
|
6
|
+
import tomllib
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
REPOSITORY_ROOT = Path(__file__).resolve().parents[2]
|
|
10
|
+
PIN = re.compile(r"^([A-Za-z0-9_.-]+)==([^\s;]+)")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _canonical(name: str) -> str:
|
|
14
|
+
return re.sub(r"[-_.]+", "-", name).lower()
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def test_requirements_pins_match_the_lockfile():
|
|
18
|
+
# Regenerate with `mainsequence code-repository sync` after a dependency change.
|
|
19
|
+
lock = tomllib.loads((REPOSITORY_ROOT / "uv.lock").read_text(encoding="utf-8"))
|
|
20
|
+
locked = {_canonical(package["name"]): package["version"] for package in lock["package"]}
|
|
21
|
+
pins = {
|
|
22
|
+
_canonical(match[1]): match[2]
|
|
23
|
+
for line in (REPOSITORY_ROOT / "requirements.txt").read_text(encoding="utf-8").splitlines()
|
|
24
|
+
if (match := PIN.match(line))
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
assert pins
|
|
28
|
+
assert {name: version for name, version in pins.items() if locked.get(name) != version} == {}
|