ms-markets 2.2.6.dev17__tar.gz → 2.2.6.dev18__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (724) hide show
  1. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/platform/metatable_migrations/SKILL.md +9 -0
  2. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/CHANGELOG.md +14 -0
  3. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/PKG-INFO +1 -1
  4. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/index.md +6 -0
  5. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/migrations/index.md +7 -0
  6. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/releasing.md +54 -0
  7. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/pyproject.toml +1 -1
  8. ms_markets-2.2.6.dev18/tests/msm/maintenance/test_bootstrap_metatables_access.py +65 -0
  9. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/accounts/account_workflow/SKILL.md +0 -0
  10. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/accounts/valuation_resolver/SKILL.md +0 -0
  11. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/assets/asset_indexed_data_nodes/SKILL.md +0 -0
  12. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/assets/asset_model_extension/SKILL.md +0 -0
  13. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/indices/index_workflow/SKILL.md +0 -0
  14. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/platform/bootstrap_registration/SKILL.md +0 -0
  15. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/portfolios/portfolio_workflow/SKILL.md +0 -0
  16. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/portfolios/portfolio_workflow/references/position_accounting.md +0 -0
  17. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/pricing/fixed_income_curve_building/SKILL.md +0 -0
  18. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.agents/skills/ms_markets/pricing/general_pricing/SKILL.md +0 -0
  19. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/.gitignore +0 -0
  20. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/LICENSE +0 -0
  21. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/README.md +0 -0
  22. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0005-pricing-package-refactor.md +0 -0
  23. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0006-asset-package-boundary.md +0 -0
  24. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0008-metatable-table-and-api-model-split.md +0 -0
  25. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0019-msm-portfolios-package-boundary.md +0 -0
  26. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0022-alembic-metatable-migration-alignment.md +0 -0
  27. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0023-deterministic-alembic-naming.md +0 -0
  28. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0024-namespace-scoped-alembic-version-locations.md +0 -0
  29. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0025-direct-metatable-runtime-binding.md +0 -0
  30. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0026-explicit-pricing-market-data-sets.md +0 -0
  31. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0027-account-target-position-portfolio-exposure.md +0 -0
  32. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0028-core-calendar-reference-data.md +0 -0
  33. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0029-account-holdings-virtual-fund-allocation-policy.md +0 -0
  34. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0030-explicit-portfolio-price-source-dependency.md +0 -0
  35. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0031-generic-portfolio-valuation-source.md +0 -0
  36. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0032-portfolio-group-many-to-many.md +0 -0
  37. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0033-pricing-valuation-position-boundary.md +0 -0
  38. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0034-command-center-asset-monitor-helpers.md +0 -0
  39. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0035-pricing-curve-identity-and-market-data-curve-bindings.md +0 -0
  40. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0036-prepared-pricing-valuation-context.md +0 -0
  41. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0037-index-formula-and-custom-calculation-framework.md +0 -0
  42. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0038-index-user-api-and-fastapi-exploration.md +0 -0
  43. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0039-sdk-8-hard-cut-and-1-0-package-contract.md +0 -0
  44. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0040-portfolio-temporal-ownership.md +0 -0
  45. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0041-installable-provider-http-toolkit.md +0 -0
  46. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0042-position-cash-flow-portfolio-accounting.md +0 -0
  47. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0043-sdk-9-metatables-client-hard-cut.md +0 -0
  48. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0044-namespaced-migration-provider-package.md +0 -0
  49. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/0045-squashed-initial-schema-and-namespaced-packages.md +0 -0
  50. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/README.md +0 -0
  51. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/fast_api/v1/0001-calendar-crud-route.md +0 -0
  52. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/fast_api/v1/0002-command-center-adapter-discovery.md +0 -0
  53. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/fast_api/v1/0003-fixed-income-pricer-api.md +0 -0
  54. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/ADR/fast_api/v1/0004-delete-impact-contract.md +0 -0
  55. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/changelog.md +0 -0
  56. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/concepts.md +0 -0
  57. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/accounts.md +0 -0
  58. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/assets.md +0 -0
  59. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/calendars.md +0 -0
  60. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/command_center_bulk_actions.md +0 -0
  61. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/fixed_income_pricer.md +0 -0
  62. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/indexes.md +0 -0
  63. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/portfolio.md +0 -0
  64. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/portfolio_groups.md +0 -0
  65. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/portfolio_signal_metadata.md +0 -0
  66. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/pricing_curves.md +0 -0
  67. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/pricing_market_data.md +0 -0
  68. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/provider_adapter_toolkit.md +0 -0
  69. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/resource_contracts.md +0 -0
  70. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/settings.md +0 -0
  71. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/fast_api/v1/virtualfund.md +0 -0
  72. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/getting-started.md +0 -0
  73. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/img/main-sequence-markets/main_sequence_markets_alternate_lockup_black_bg.png +0 -0
  74. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/img/main-sequence-markets/main_sequence_markets_alternate_lockup_transparent.png +0 -0
  75. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/img/main-sequence-markets/main_sequence_markets_icon_emblem_black_bg.png +0 -0
  76. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/img/main-sequence-markets/main_sequence_markets_icon_emblem_transparent.png +0 -0
  77. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/img/main-sequence-markets/main_sequence_markets_market_mark_only_black_bg.png +0 -0
  78. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/img/main-sequence-markets/main_sequence_markets_market_mark_only_transparent.png +0 -0
  79. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/img/main-sequence-markets/main_sequence_markets_primary_wordmark_black_bg.png +0 -0
  80. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/img/main-sequence-markets/main_sequence_markets_primary_wordmark_transparent.png +0 -0
  81. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/index.md +0 -0
  82. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/accounts/index.md +0 -0
  83. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/accounts/virtual_funds.md +0 -0
  84. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/assets/asset_indexed_data_nodes.md +0 -0
  85. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/assets/bonds.md +0 -0
  86. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/assets/currency.md +0 -0
  87. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/assets/index.md +0 -0
  88. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/calendars/index.md +0 -0
  89. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/client/index.md +0 -0
  90. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/derivatives/futures.md +0 -0
  91. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/derivatives/index.md +0 -0
  92. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/execution/index.md +0 -0
  93. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/index.md +0 -0
  94. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/indices/formula_indexes.md +0 -0
  95. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/indices/index.md +0 -0
  96. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/models/index.md +0 -0
  97. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/platform/index.md +0 -0
  98. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/platform/meta_table_registration.md +0 -0
  99. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/platform/metatable_migrations.md +0 -0
  100. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/repositories/index.md +0 -0
  101. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm/services/index.md +0 -0
  102. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_portfolios/index.md +0 -0
  103. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_portfolios/portfolios/accounting.md +0 -0
  104. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_portfolios/portfolios/index.md +0 -0
  105. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_pricing/analytics.md +0 -0
  106. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_pricing/curves.md +0 -0
  107. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_pricing/fixings.md +0 -0
  108. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_pricing/index.md +0 -0
  109. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_pricing/instruments.md +0 -0
  110. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_pricing/market_data_sets.md +0 -0
  111. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_pricing/runtime_resolution.md +0 -0
  112. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_pricing/scenarios/curves.md +0 -0
  113. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_pricing/scenarios/index.md +0 -0
  114. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/knowledge/msm_pricing/scenarios/valuation.md +0 -0
  115. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/planning/implementation_tasks/benchmark_curve_resolution_plan.md +0 -0
  116. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/planning/implementation_tasks/bond_helper_curve_reconstruction_upstream_plan.md +0 -0
  117. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/planning/implementation_tasks/cross_currency_helper_curve_reconstruction_upstream_plan.md +0 -0
  118. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/planning/implementation_tasks/generic_curve_reconstruction_upstream_plan.md +0 -0
  119. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/planning/implementation_tasks/generic_valuation_scenario_workflow_plan.md +0 -0
  120. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/planning/implementation_tasks/index_formula_and_custom_calculation_plan.md +0 -0
  121. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/planning/implementation_tasks/python_3_13_mainsequence_5_upgrade_plan.md +0 -0
  122. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/planning/implementation_tasks/reusable_valuation_portfolio_scenario_analytics_plan.md +0 -0
  123. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/reference/index.md +0 -0
  124. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/reference/indices.md +0 -0
  125. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/stylesheets/custom.css +0 -0
  126. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/tutorial/01-assets.md +0 -0
  127. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/tutorial/02-calendars.md +0 -0
  128. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/tutorial/03-accounts.md +0 -0
  129. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/tutorial/04-portfolios.md +0 -0
  130. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/tutorial/05-pricing.md +0 -0
  131. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/tutorial/06-index-formulas.md +0 -0
  132. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/docs/tutorial/index.md +0 -0
  133. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/__init__.py +0 -0
  134. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/__init__.py +0 -0
  135. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/accounts/__init__.py +0 -0
  136. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/accounts/account_portfolio_full_workflow.py +0 -0
  137. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/accounts/account_virtual_fund_allocation_example.py +0 -0
  138. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/accounts/utils/__init__.py +0 -0
  139. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/accounts/utils/reference_data.py +0 -0
  140. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/__init__.py +0 -0
  141. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/asset_category_workflow.py +0 -0
  142. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/asset_crud_workflow.py +0 -0
  143. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/asset_type_constants.py +0 -0
  144. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/bond_workflow.py +0 -0
  145. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/currency_spot_workflow.py +0 -0
  146. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/derivatives/__init__.py +0 -0
  147. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/derivatives/crypto_future_without_figi.py +0 -0
  148. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/derivatives/index_future_from_openfigi.py +0 -0
  149. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/us_treasury_bond_workflow.py +0 -0
  150. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/utils/__init__.py +0 -0
  151. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/assets/utils/reference_data.py +0 -0
  152. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/calendars/__init__.py +0 -0
  153. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/calendars/calendar_materialization_workflow.py +0 -0
  154. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/http_provider_contracts.py +0 -0
  155. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/indices/__init__.py +0 -0
  156. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/indices/delta_hedged_option_index.py +0 -0
  157. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/indices/extension_owned_index_storage.py +0 -0
  158. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/indices/formula_index.py +0 -0
  159. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/indices/index_values_frequency_migration.py +0 -0
  160. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/indices/plain_index_values.py +0 -0
  161. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/platform/__init__.py +0 -0
  162. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/platform/bootstrap.py +0 -0
  163. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/platform/custom_asset_details_extension.py +0 -0
  164. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/platform/inspect_markets_metatable_models.py +0 -0
  165. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/platform/metatable_migration_lifecycle.py +0 -0
  166. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/workflows/__init__.py +0 -0
  167. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm/workflows/asset_category_workflow.py +0 -0
  168. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_cashflows_and_fx_valuation_example.py +0 -0
  169. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_custom_cashflow_model_example.py +0 -0
  170. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_custom_valuation_column_example.py +0 -0
  171. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_equal_weights_config.py +0 -0
  172. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_equal_weights_dynamic_migration.py +0 -0
  173. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_equal_weights_example.py +0 -0
  174. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_equal_weights_prepare_schema.py +0 -0
  175. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_equal_weights_run.py +0 -0
  176. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_groups_example.py +0 -0
  177. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_midnight_timestamp_repair.py +0 -0
  178. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_perpetual_funding_example.py +0 -0
  179. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_read_services.py +0 -0
  180. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_trailing_adv_participation_example.py +0 -0
  181. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_portfolios/portfolio_trailing_adv_participation_preview.py +0 -0
  182. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/__init__.py +0 -0
  183. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/bond_pricing_example/README.md +0 -0
  184. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/bond_pricing_example/__init__.py +0 -0
  185. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/bond_pricing_example/main.py +0 -0
  186. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/bond_terms.py +0 -0
  187. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/curve_reconstruction.py +0 -0
  188. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/curve_scenario.py +0 -0
  189. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/fixed_income_spread_analytics.py +0 -0
  190. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/import_pricing_runtime.py +0 -0
  191. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/instrument_identity_boundary.py +0 -0
  192. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/pricing_registry_rows.py +0 -0
  193. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/pricing_valuation_context.py +0 -0
  194. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/resolved_curve_scenario.py +0 -0
  195. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/utils/__init__.py +0 -0
  196. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/utils/mock_market_data.py +0 -0
  197. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/valuation_inputs.py +0 -0
  198. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/examples/msm_pricing/valuation_scenario_workflow.py +0 -0
  199. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/mkdocs.yml +0 -0
  200. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/__init__.py +0 -0
  201. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/analytics/__init__.py +0 -0
  202. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/analytics/indices/__init__.py +0 -0
  203. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/analytics/indices/contracts.py +0 -0
  204. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/analytics/indices/engine.py +0 -0
  205. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/analytics/indices/spreads.py +0 -0
  206. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/__init__.py +0 -0
  207. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/accounts.py +0 -0
  208. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/assets.py +0 -0
  209. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/base.py +0 -0
  210. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/calendars/__init__.py +0 -0
  211. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/calendars/_validation.py +0 -0
  212. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/calendars/core.py +0 -0
  213. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/calendars/dates.py +0 -0
  214. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/calendars/events.py +0 -0
  215. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/calendars/sessions.py +0 -0
  216. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/derivatives.py +0 -0
  217. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/execution.py +0 -0
  218. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/formula_indices.py +0 -0
  219. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/http/__init__.py +0 -0
  220. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/http/_base.py +0 -0
  221. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/http/bulk_actions.py +0 -0
  222. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/http/collections.py +0 -0
  223. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/http/discovery.py +0 -0
  224. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/http/errors.py +0 -0
  225. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/http/operations.py +0 -0
  226. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/http/table_impact.py +0 -0
  227. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/http/tabular.py +0 -0
  228. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/indices.py +0 -0
  229. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/issuers.py +0 -0
  230. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/portfolios.py +0 -0
  231. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/api/virtual_funds.py +0 -0
  232. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/base.py +0 -0
  233. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/bootstrap.py +0 -0
  234. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/constants.py +0 -0
  235. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/__init__.py +0 -0
  236. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/accounts/__init__.py +0 -0
  237. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/accounts/constants.py +0 -0
  238. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/accounts/storage.py +0 -0
  239. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/accounts/virtual_funds/__init__.py +0 -0
  240. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/accounts/virtual_funds/storage.py +0 -0
  241. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/assets/__init__.py +0 -0
  242. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/assets/asset_indexed.py +0 -0
  243. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/assets/snapshots.py +0 -0
  244. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/assets/storage.py +0 -0
  245. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/execution/__init__.py +0 -0
  246. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/execution/storage.py +0 -0
  247. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/indices/__init__.py +0 -0
  248. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/indices/formula.py +0 -0
  249. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/indices/storage.py +0 -0
  250. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/indices/timestamped.py +0 -0
  251. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/indices/values.py +0 -0
  252. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/utils/__init__.py +0 -0
  253. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/utils/namespaces.py +0 -0
  254. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/utils/output_metadata.py +0 -0
  255. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/utils/stamped.py +0 -0
  256. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/utils/storage_schema.py +0 -0
  257. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/data_nodes/utils/time.py +0 -0
  258. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/migrations/__init__.py +0 -0
  259. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/__init__.py +0 -0
  260. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/accounts/__init__.py +0 -0
  261. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/accounts/allocation_models.py +0 -0
  262. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/accounts/core.py +0 -0
  263. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/accounts/groups.py +0 -0
  264. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/accounts/virtual_funds.py +0 -0
  265. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/assets/__init__.py +0 -0
  266. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/assets/bonds.py +0 -0
  267. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/assets/categories.py +0 -0
  268. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/assets/core.py +0 -0
  269. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/assets/currency_spot.py +0 -0
  270. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/assets/provider_details.py +0 -0
  271. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/assets/types.py +0 -0
  272. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/calendars/__init__.py +0 -0
  273. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/calendars/core.py +0 -0
  274. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/calendars/dates.py +0 -0
  275. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/calendars/events.py +0 -0
  276. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/calendars/sessions.py +0 -0
  277. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/derivatives.py +0 -0
  278. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/execution.py +0 -0
  279. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/index_dataset_availability.py +0 -0
  280. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/index_formulas.py +0 -0
  281. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/indices.py +0 -0
  282. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/issuers.py +0 -0
  283. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/portfolios/__init__.py +0 -0
  284. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/portfolios/core.py +0 -0
  285. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/portfolios/groups.py +0 -0
  286. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/portfolios/signals.py +0 -0
  287. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/models/registration.py +0 -0
  288. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/py.typed +0 -0
  289. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/__init__.py +0 -0
  290. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/account_allocation_models.py +0 -0
  291. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/account_groups.py +0 -0
  292. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/accounts.py +0 -0
  293. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/asset_categories.py +0 -0
  294. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/assets.py +0 -0
  295. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/base.py +0 -0
  296. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/calendars/__init__.py +0 -0
  297. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/calendars/core.py +0 -0
  298. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/calendars/dates.py +0 -0
  299. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/calendars/events.py +0 -0
  300. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/calendars/sessions.py +0 -0
  301. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/crud.py +0 -0
  302. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/execution.py +0 -0
  303. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/indices.py +0 -0
  304. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/portfolios.py +0 -0
  305. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/provider_details.py +0 -0
  306. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/repositories/virtual_funds.py +0 -0
  307. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/__init__.py +0 -0
  308. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/accounts/__init__.py +0 -0
  309. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/accounts/account_virtual_allocations.py +0 -0
  310. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/accounts/core.py +0 -0
  311. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/accounts/virtual_fund_holdings.py +0 -0
  312. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/accounts/virtual_funds.py +0 -0
  313. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/accounts/virtual_funds_public_api.py +0 -0
  314. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/asset_categories.py +0 -0
  315. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/asset_master_lists.py +0 -0
  316. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/assets/__init__.py +0 -0
  317. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/assets/open_figi_lists/market_sector.json +0 -0
  318. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/assets/open_figi_lists/security_type.json +0 -0
  319. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/assets/open_figi_lists/security_type_2.json +0 -0
  320. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/assets/openfigi.py +0 -0
  321. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/assets/reference_details.py +0 -0
  322. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/calendars/__init__.py +0 -0
  323. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/calendars/materialization.py +0 -0
  324. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/calendars/pandas_market.py +0 -0
  325. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/calendars/records.py +0 -0
  326. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/calendars/validation.py +0 -0
  327. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/execution.py +0 -0
  328. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/holdings.py +0 -0
  329. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/indices/__init__.py +0 -0
  330. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/indices/actors.py +0 -0
  331. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/indices/availability.py +0 -0
  332. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/indices/catalog.py +0 -0
  333. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/indices/contracts.py +0 -0
  334. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/indices/delete_impact.py +0 -0
  335. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/indices/relationships.py +0 -0
  336. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/portfolios.py +0 -0
  337. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/provider_details.py +0 -0
  338. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/public_api_settings.py +0 -0
  339. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/reference_data.py +0 -0
  340. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/related_meta_tables.py +0 -0
  341. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/table_impact.py +0 -0
  342. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/services/target_positions.py +0 -0
  343. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm/settings.py +0 -0
  344. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_cli/__init__.py +0 -0
  345. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_cli/main.py +0 -0
  346. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_migrations/__init__.py +0 -0
  347. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_migrations/env.py +0 -0
  348. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_migrations/registry.py +0 -0
  349. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_migrations/script.py.mako +0 -0
  350. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_migrations/versions/__init__.py +0 -0
  351. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_migrations/versions/mainsequence_examples/__init__.py +0 -0
  352. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_migrations/versions/mainsequence_markets/0018_initial_schema.py +0 -0
  353. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_migrations/versions/mainsequence_markets/__init__.py +0 -0
  354. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/__init__.py +0 -0
  355. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/accounting/__init__.py +0 -0
  356. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/accounting/configuration.py +0 -0
  357. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/accounting/contracts.py +0 -0
  358. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/accounting/lifecycle.py +0 -0
  359. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/accounting/projections.py +0 -0
  360. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/accounting/reducer.py +0 -0
  361. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/accounting/valuation.py +0 -0
  362. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/api/__init__.py +0 -0
  363. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/api/market_metadata.py +0 -0
  364. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/api/portfolios.py +0 -0
  365. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/asset_scope.py +0 -0
  366. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/bootstrap.py +0 -0
  367. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/configuration.py +0 -0
  368. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/__init__.py +0 -0
  369. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/prices/__init__.py +0 -0
  370. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/prices/data_nodes.py +0 -0
  371. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/prices/utils.py +0 -0
  372. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/signals/__init__.py +0 -0
  373. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/signals/external_weights.py +0 -0
  374. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/signals/fixed_weights.py +0 -0
  375. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/signals/intraday_trend.py +0 -0
  376. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/signals/market_cap.py +0 -0
  377. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/signals/portfolio_replicator.py +0 -0
  378. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/contrib/signals/regression_utils.py +0 -0
  379. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/__init__.py +0 -0
  380. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/base.py +0 -0
  381. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/constants.py +0 -0
  382. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/metadata.py +0 -0
  383. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/portfolio_identity.py +0 -0
  384. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/portfolios/__init__.py +0 -0
  385. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/portfolios/accounting.py +0 -0
  386. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/portfolios/analytics.py +0 -0
  387. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/portfolios/calendar_events.py +0 -0
  388. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/portfolios/rebalance.py +0 -0
  389. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/portfolios/storage.py +0 -0
  390. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/portfolios/temporal.py +0 -0
  391. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/portfolios/weights.py +0 -0
  392. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/prices/__init__.py +0 -0
  393. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/prices/storage.py +0 -0
  394. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/signals/__init__.py +0 -0
  395. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/signals/storage.py +0 -0
  396. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/data_nodes/signals/weights.py +0 -0
  397. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/enums.py +0 -0
  398. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/models/__init__.py +0 -0
  399. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/models/portfolios/__init__.py +0 -0
  400. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/models/portfolios/metadata.py +0 -0
  401. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/models/rebalancing.py +0 -0
  402. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/models/signals.py +0 -0
  403. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/rebalance_strategy/__init__.py +0 -0
  404. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/rebalance_strategy/accounting.py +0 -0
  405. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/rebalance_strategy/base.py +0 -0
  406. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/rebalance_strategy/calendar_event.py +0 -0
  407. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/rebalance_strategy/immediate_signal.py +0 -0
  408. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/rebalance_strategy/liquidity_constrained.py +0 -0
  409. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/rebalance_strategy/time_weighted.py +0 -0
  410. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/rebalance_strategy/trailing_average_daily_volume.py +0 -0
  411. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/rebalance_strategy/volume_participation.py +0 -0
  412. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/repositories/__init__.py +0 -0
  413. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/repositories/market_metadata.py +0 -0
  414. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/services/__init__.py +0 -0
  415. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/services/calendars.py +0 -0
  416. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/services/market_metadata.py +0 -0
  417. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/services/portfolio_reads.py +0 -0
  418. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/services/portfolio_timestamp_repair.py +0 -0
  419. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/services/public_api.py +0 -0
  420. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_portfolios/utils.py +0 -0
  421. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/README.md +0 -0
  422. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/__init__.py +0 -0
  423. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/analytics/__init__.py +0 -0
  424. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/analytics/spreads/__init__.py +0 -0
  425. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/analytics/spreads/base.py +0 -0
  426. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/analytics/spreads/fixed_income.py +0 -0
  427. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/api/__init__.py +0 -0
  428. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/api/asset_pricing_operations.py +0 -0
  429. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/api/curve_building_details.py +0 -0
  430. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/api/curves.py +0 -0
  431. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/api/index_convention_details.py +0 -0
  432. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/api/instruments.py +0 -0
  433. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/api/market_data_bindings.py +0 -0
  434. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/api/pricing_details.py +0 -0
  435. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/bootstrap.py +0 -0
  436. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/config.py +0 -0
  437. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_interface/__init__.py +0 -0
  438. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_interface/data_interface.py +0 -0
  439. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_nodes/__init__.py +0 -0
  440. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_nodes/curve_codec.py +0 -0
  441. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_nodes/curves/__init__.py +0 -0
  442. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_nodes/curves/key_nodes.py +0 -0
  443. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_nodes/curves/storage.py +0 -0
  444. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_nodes/index_fixings/__init__.py +0 -0
  445. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_nodes/index_fixings/storage.py +0 -0
  446. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_nodes/pricing_details/__init__.py +0 -0
  447. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/data_nodes/pricing_details/storage.py +0 -0
  448. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/instruments/__init__.py +0 -0
  449. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/instruments/base_instrument.py +0 -0
  450. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/instruments/bond.py +0 -0
  451. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/instruments/bond_terms.py +0 -0
  452. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/instruments/callability.py +0 -0
  453. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/instruments/interest_rate_swap.py +0 -0
  454. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/instruments/json_codec.py +0 -0
  455. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/instruments/ql_fields.py +0 -0
  456. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/meta_tables.py +0 -0
  457. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/models/__init__.py +0 -0
  458. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/models/curve_building_details.py +0 -0
  459. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/models/curves.py +0 -0
  460. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/models/index_convention_details.py +0 -0
  461. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/models/market_data_bindings.py +0 -0
  462. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/models/pricing_details.py +0 -0
  463. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/__init__.py +0 -0
  464. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/bond_analytics.py +0 -0
  465. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/bond_pricer.py +0 -0
  466. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/coupon_schedules.py +0 -0
  467. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curve_overlays.py +0 -0
  468. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/__init__.py +0 -0
  469. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/adapters.py +0 -0
  470. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/bond_helper_key_nodes.py +0 -0
  471. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/bond_helpers.py +0 -0
  472. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/cross_currency_helpers.py +0 -0
  473. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/cross_currency_key_nodes.py +0 -0
  474. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/fixed_income_key_nodes.py +0 -0
  475. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/helper_key_nodes.py +0 -0
  476. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/helper_resolution.py +0 -0
  477. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/helpers.py +0 -0
  478. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/observations.py +0 -0
  479. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/quote_units.py +0 -0
  480. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/curves/reconstruction.py +0 -0
  481. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/indices.py +0 -0
  482. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/indices_builders.py +0 -0
  483. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/resolvers.py +0 -0
  484. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/pricing_engine/swap_pricer.py +0 -0
  485. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/scenarios/__init__.py +0 -0
  486. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/scenarios/curves/__init__.py +0 -0
  487. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/scenarios/curves/engine.py +0 -0
  488. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/scenarios/curves/key_node_bumps.py +0 -0
  489. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/scenarios/curves/models.py +0 -0
  490. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/scenarios/valuation/__init__.py +0 -0
  491. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/scenarios/valuation/engine.py +0 -0
  492. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/scenarios/valuation/impacts.py +0 -0
  493. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/scenarios/valuation/line_pricing.py +0 -0
  494. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/scenarios/valuation/models.py +0 -0
  495. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/settings.py +0 -0
  496. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/utils.py +0 -0
  497. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/src/msm_pricing/valuation.py +0 -0
  498. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/__init__.py +0 -0
  499. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/conftest.py +0 -0
  500. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/PINNED_FROM.txt +0 -0
  501. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/README.md +0 -0
  502. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-discovery-v1.inline-health-endpoint.json +0 -0
  503. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-discovery-v1.retired-response-mappings.json +0 -0
  504. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-discovery-v1.unknown-operation-field.json +0 -0
  505. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-public-config-v1.direct-source-mismatch.json +0 -0
  506. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-query-v1.retired-response-mapping-id.json +0 -0
  507. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-query-v1.unknown-field.json +0 -0
  508. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/adapter-from-api-secure-config-v1.unknown-field.json +0 -0
  509. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/app-component-authoring-v1.invalid-binding-port.json +0 -0
  510. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/app-component-authoring-v1.invalid-mock-version.json +0 -0
  511. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-discovery-v1.duplicate-selection-mode.json +0 -0
  512. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-discovery-v1.unsafe-endpoint.json +0 -0
  513. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-execution-v1.empty-explicit.json +0 -0
  514. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-execution-v1.presentation-filter.json +0 -0
  515. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-preflight-v1.invalid-blockers.json +0 -0
  516. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/bulk-action-preflight-v1.missing-allowed.json +0 -0
  517. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/resource-collection-v1.negative-total.json +0 -0
  518. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/resource-collection-v1.select-without-options.json +0 -0
  519. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/resource-discovery-v1.incomplete-generic-column.json +0 -0
  520. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/resource-discovery-v1.unknown-field.json +0 -0
  521. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/resource-discovery-v1.unsafe-identity.json +0 -0
  522. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/static-site-iframe-v1.invalid-target-uid.json +0 -0
  523. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/static-site-iframe-v1.missing-token.json +0 -0
  524. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/static-site-iframe-v1.unknown-credential-error.json +0 -0
  525. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/static-site-iframe-v1.unrestricted-user-credential.json +0 -0
  526. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/static-site-iframe-v1.wrong-version.json +0 -0
  527. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/table-widget-authoring-v1.community-formula.json +0 -0
  528. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/table-widget-authoring-v1.invalid-selection.json +0 -0
  529. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/table-widget-authoring-v1.unknown-widget.json +0 -0
  530. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-frame-v1.invalid-table-visuals.json +0 -0
  531. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-frame-v1.long-with-value-fields.json +0 -0
  532. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-frame-v1.missing-rows.json +0 -0
  533. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-frame-v1.unknown-field-type.json +0 -0
  534. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-transform-authoring-v1.incomplete-pivot.json +0 -0
  535. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/tabular-transform-authoring-v1.latest-without-keys.json +0 -0
  536. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/workspace-document-v1.missing-id.json +0 -0
  537. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/invalid/workspace-document-v1.numeric-id.json +0 -0
  538. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/adapter-from-api-discovery-v1.orders.json +0 -0
  539. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/adapter-from-api-public-config-v1.backend.json +0 -0
  540. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/adapter-from-api-public-config-v1.direct.json +0 -0
  541. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/adapter-from-api-query-v1.operation.json +0 -0
  542. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/adapter-from-api-secure-config-v1.values.json +0 -0
  543. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/app-component-authoring-v1.manual.json +0 -0
  544. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/app-component-authoring-v1.mock-json.json +0 -0
  545. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-discovery-v1.archive.json +0 -0
  546. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-discovery-v1.empty.json +0 -0
  547. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-execution-v1.all-matching.json +0 -0
  548. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-execution-v1.explicit.json +0 -0
  549. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-preflight-v1.allowed.json +0 -0
  550. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/bulk-action-preflight-v1.blocked.json +0 -0
  551. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/resource-collection-v1.minimal.json +0 -0
  552. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/resource-collection-v1.with-controls.json +0 -0
  553. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/resource-discovery-v1.records.json +0 -0
  554. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.fastapi-credential-error.json +0 -0
  555. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.fastapi-credential-request.json +0 -0
  556. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.fastapi-credential-response.json +0 -0
  557. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.fastapi-runtime-starting.json +0 -0
  558. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.initialize.json +0 -0
  559. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/static-site-iframe-v1.ready.json +0 -0
  560. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/table-widget-authoring-v1.pro-table.json +0 -0
  561. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/table-widget-authoring-v1.table.json +0 -0
  562. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/tabular-frame-v1.minimal.json +0 -0
  563. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/tabular-frame-v1.table-visuals.json +0 -0
  564. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/tabular-frame-v1.time-series.json +0 -0
  565. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/tabular-transform-authoring-v1.filter.json +0 -0
  566. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/tabular-transform-authoring-v1.pivot-latest.json +0 -0
  567. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/workspace-document-v1.minimal.json +0 -0
  568. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/fixtures/valid/workspace-document-v1.nested.json +0 -0
  569. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/manifest.json +0 -0
  570. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/adapter-from-api-discovery-v1.schema.json +0 -0
  571. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/adapter-from-api-public-config-v1.schema.json +0 -0
  572. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/adapter-from-api-query-v1.schema.json +0 -0
  573. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/adapter-from-api-secure-config-v1.schema.json +0 -0
  574. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/app-component-authoring-v1.schema.json +0 -0
  575. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/bulk-action-discovery-v1.schema.json +0 -0
  576. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/bulk-action-execution-v1.schema.json +0 -0
  577. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/bulk-action-preflight-v1.schema.json +0 -0
  578. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/resource-collection-v1.schema.json +0 -0
  579. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/resource-discovery-v1.schema.json +0 -0
  580. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/static-site-iframe-v1.schema.json +0 -0
  581. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/table-widget-authoring-v1.schema.json +0 -0
  582. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/tabular-frame-v1.schema.json +0 -0
  583. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/tabular-transform-authoring-v1.schema.json +0 -0
  584. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/contracts/command-center-sdk-v0.1.13/schemas/workspace-document-v1.schema.json +0 -0
  585. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/__init__.py +0 -0
  586. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/__init__.py +0 -0
  587. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/calendars/__init__.py +0 -0
  588. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/calendars/test_rows.py +0 -0
  589. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/test_assets.py +0 -0
  590. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/test_bonds.py +0 -0
  591. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/test_derivatives.py +0 -0
  592. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/test_http.py +0 -0
  593. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/test_indices.py +0 -0
  594. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/test_issuers.py +0 -0
  595. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/test_portfolio_groups.py +0 -0
  596. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/api/test_rows.py +0 -0
  597. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/assets/__init__.py +0 -0
  598. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/assets/test_asset_snapshots.py +0 -0
  599. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/assets/test_openfigi.py +0 -0
  600. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/bootstrap/__init__.py +0 -0
  601. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/bootstrap/test_bootstrap.py +0 -0
  602. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/data_nodes/__init__.py +0 -0
  603. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/data_nodes/test_asset_indexed_data_nodes.py +0 -0
  604. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/data_nodes/test_contracts.py +0 -0
  605. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/data_nodes/test_datetime_normalization.py +0 -0
  606. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/data_nodes/test_index_stamped_data_nodes.py +0 -0
  607. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/data_nodes/test_package_structure.py +0 -0
  608. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/data_nodes/test_provisioning_boundary.py +0 -0
  609. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/data_nodes/test_target_positions_contracts.py +0 -0
  610. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/__init__.py +0 -0
  611. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/__init__.py +0 -0
  612. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_accounts.py +0 -0
  613. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_asset_categories.py +0 -0
  614. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_assets.py +0 -0
  615. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_bulk_action_contracts.py +0 -0
  616. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_bulk_actions.py +0 -0
  617. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_calendars.py +0 -0
  618. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_command_center_adapter.py +0 -0
  619. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_common.py +0 -0
  620. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_deployment_entrypoint.py +0 -0
  621. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_dev_cors.py +0 -0
  622. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_indices.py +0 -0
  623. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_openapi.py +0 -0
  624. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_portfolio_groups.py +0 -0
  625. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_portfolio_signals.py +0 -0
  626. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_portfolios.py +0 -0
  627. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_pricing_assets.py +0 -0
  628. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_pricing_curves.py +0 -0
  629. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_pricing_market_data.py +0 -0
  630. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_request_identity.py +0 -0
  631. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_runtime_bootstrap.py +0 -0
  632. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_settings.py +0 -0
  633. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/fastapi/v1/test_virtual_funds.py +0 -0
  634. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/imports/__init__.py +0 -0
  635. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/imports/test_import.py +0 -0
  636. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_data_nodes.py +0 -0
  637. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_engine.py +0 -0
  638. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_examples.py +0 -0
  639. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_formula_index_contract.py +0 -0
  640. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_index_availability.py +0 -0
  641. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_index_delete_impact.py +0 -0
  642. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_index_lifecycle_services.py +0 -0
  643. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_index_values.py +0 -0
  644. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_models_and_migration.py +0 -0
  645. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_public_api.py +0 -0
  646. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_related_meta_tables.py +0 -0
  647. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_resolution_and_repository.py +0 -0
  648. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/indices/test_spread_compatibility.py +0 -0
  649. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/maintenance/test_migrations.py +0 -0
  650. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/models/__init__.py +0 -0
  651. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/models/calendars/__init__.py +0 -0
  652. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/models/calendars/test_tables.py +0 -0
  653. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/models/test_metatable_models.py +0 -0
  654. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/repositories/__init__.py +0 -0
  655. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/repositories/test_repositories.py +0 -0
  656. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/services/assets/test_reference_details.py +0 -0
  657. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/services/calendars/__init__.py +0 -0
  658. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/services/calendars/test_materialization.py +0 -0
  659. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/services/test_account_virtual_allocations.py +0 -0
  660. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/services/test_latest_asset_references.py +0 -0
  661. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/services/test_table_impact.py +0 -0
  662. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/test_cli.py +0 -0
  663. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/test_constants.py +0 -0
  664. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/test_package_metadata.py +0 -0
  665. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm/test_schema_names.py +0 -0
  666. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/accounting/test_accounting.py +0 -0
  667. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/api/test_rows.py +0 -0
  668. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/configuration/test_prices_configuration.py +0 -0
  669. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/data_nodes/test_daily_price_interpolation.py +0 -0
  670. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/data_nodes/test_datetime_normalization.py +0 -0
  671. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/data_nodes/test_portfolio_contracts.py +0 -0
  672. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/data_nodes/test_storage_first_surface.py +0 -0
  673. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/data_nodes/test_virtual_fund_holdings_contracts.py +0 -0
  674. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/examples/test_equal_weight_portfolio_schema.py +0 -0
  675. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/examples/test_trailing_adv_participation_preview.py +0 -0
  676. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/imports/test_bootstrap.py +0 -0
  677. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/imports/test_boundaries.py +0 -0
  678. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/models/test_model_graph.py +0 -0
  679. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/services/test_calendars.py +0 -0
  680. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/services/test_portfolio_reads.py +0 -0
  681. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_portfolios/services/test_portfolio_timestamp_repair.py +0 -0
  682. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/__init__.py +0 -0
  683. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/analytics/spreads/test_base.py +0 -0
  684. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/analytics/spreads/test_fixed_income.py +0 -0
  685. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/api/__init__.py +0 -0
  686. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/api/test_asset_pricing_operations.py +0 -0
  687. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/api/test_curve_building_details.py +0 -0
  688. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/api/test_curves.py +0 -0
  689. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/api/test_index_convention_details.py +0 -0
  690. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/api/test_instruments.py +0 -0
  691. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/api/test_market_data_bindings.py +0 -0
  692. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/api/test_pricing_details.py +0 -0
  693. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/data_interface/test_data_interface.py +0 -0
  694. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/data_nodes/test_curves.py +0 -0
  695. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/data_nodes/test_index_fixings.py +0 -0
  696. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/examples/test_mock_market_data.py +0 -0
  697. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/instruments/__init__.py +0 -0
  698. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/instruments/test_base_instrument.py +0 -0
  699. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/instruments/test_benchmark_curve_resolution.py +0 -0
  700. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/instruments/test_bond_terms.py +0 -0
  701. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/instruments/test_floating_bond_roundtrip.py +0 -0
  702. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/instruments/test_index_uid_references.py +0 -0
  703. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/models/__init__.py +0 -0
  704. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/models/test_pricing_details.py +0 -0
  705. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/pricing_engine/curves/test_bond_helper_reconstruction.py +0 -0
  706. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/pricing_engine/curves/test_bond_helpers.py +0 -0
  707. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/pricing_engine/curves/test_cross_currency_helpers.py +0 -0
  708. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/pricing_engine/curves/test_reconstruction.py +0 -0
  709. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/pricing_engine/test_curve_overlays.py +0 -0
  710. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/pricing_engine/test_resolvers.py +0 -0
  711. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/scenarios/curves/test_curve_scenarios.py +0 -0
  712. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/scenarios/curves/test_key_node_bumps.py +0 -0
  713. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/scenarios/curves/test_resolved_curve_scenarios.py +0 -0
  714. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/scenarios/valuation/test_line_pricing.py +0 -0
  715. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/scenarios/valuation/test_workflow.py +0 -0
  716. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/test_bond_pricing_example.py +0 -0
  717. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/test_bootstrap.py +0 -0
  718. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/test_config.py +0 -0
  719. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/test_meta_tables.py +0 -0
  720. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/test_package_boundaries.py +0 -0
  721. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/msm_pricing/test_valuation.py +0 -0
  722. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/packaging/__init__.py +0 -0
  723. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/packaging/test_dev_release_version.py +0 -0
  724. {ms_markets-2.2.6.dev17 → ms_markets-2.2.6.dev18}/tests/packaging/test_distribution_sources.py +0 -0
@@ -69,6 +69,15 @@ ms-markets schema is migrated only by the ms-markets deployment's
69
69
  `migrate-markets` Job. A project that installs ms-markets to read or write its
70
70
  tables does not apply `msm_migrations:migration`; its own migration Job applies
71
71
  only its own providers. Do not migrate at application startup.
72
+
73
+ Required in every Environment: the `migrate-markets` Job and the `markets-api`
74
+ release run as their own workload Users, which have no MetaTables grants until an
75
+ Organization admin runs `scripts/bootstrap_metatables_access.py` from a checkout
76
+ of the branch deployed there. Without it the Job fails, for example with
77
+ `422 MetaTable is not editable`, and the API is not deployed. Do not work around a
78
+ failed migration by changing revisions or table definitions. Check the Job run
79
+ logs, then have an admin run the bootstrap. `docs/releasing.md` ("MetaTables access
80
+ in each Environment") has the steps.
72
81
  The MetaTables API needs no provider code, allowlist, or
73
82
  `application_migration_providers` alias. Keep the provider package, namespace,
74
83
  model registry, version-table binding, revision IDs, and applied revision
@@ -7,6 +7,20 @@ and this project follows versioned releases.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - `scripts/bootstrap_metatables_access.py` gives the deployment's workload Users
13
+ Writer on the `mainsequence.markets` MetaTables namespace in one Environment, for
14
+ an Organization admin to run once from a checkout of `development` or `main`.
15
+ It creates the Team `ms-markets-<environment>` from the checkout's Environment
16
+ name, adds the migration Job's and FastAPI release's workload Users from the
17
+ deployment workflow, creates the namespace if it is missing and grants the Team
18
+ Writer on it. Every other grant is kept, and `--dry-run` only reports. Without
19
+ this grant the migration Job could not register tables. In `development` it got
20
+ `422 MetaTable is not editable` on `msm.alembic_version`, which a previous runtime
21
+ identity had registered. See [MetaTables#43](https://github.com/mainsequence-projects/MetaTables/issues/43)
22
+ and "MetaTables access in each Environment" in `docs/releasing.md`.
23
+
10
24
  ### Changed
11
25
 
12
26
  - Requires `mainsequence>=9.0.19,<10` and `mainsequence-metatable>=0.1.26,<0.2`;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: ms-markets
3
- Version: 2.2.6.dev17
3
+ Version: 2.2.6.dev18
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
@@ -155,6 +155,12 @@ image, and `deploy_api` deploys the API with `needs: [migrate]`. A failed
155
155
  migration blocks the rollout and the previous release keeps serving; see
156
156
  [Hosted Deployments](../../knowledge/msm/migrations/index.md#hosted-deployments).
157
157
 
158
+ !!! warning "Required before deploying to an Environment"
159
+ The Job and the API run as their own workload Users. They can't migrate or
160
+ use the ms-markets tables until an Organization admin runs
161
+ `scripts/bootstrap_metatables_access.py` for that Environment; see
162
+ [MetaTables access in each Environment](../../releasing.md#metatables-access-in-each-environment).
163
+
158
164
  Publish repository changes with a plain `git push` of the tracked branch; the
159
165
  workflow files decide what deploys. The tracked `main` branch changes only through
160
166
  release pull requests from `development`; see [Releasing](../../releasing.md). Since Main Sequence SDK 9.0.5,
@@ -60,6 +60,13 @@ This repository's `.mainsequence/workflows/ms-markets-api.yaml` builds the image
60
60
  at head is left unchanged, and a failure blocks the API rollout while the
61
61
  previous release keeps serving.
62
62
 
63
+ !!! warning "Required: MetaTables access for the deployment"
64
+ The migration Job runs as its own workload User, which has no MetaTables
65
+ grants until an Organization admin runs `scripts/bootstrap_metatables_access.py`
66
+ for that Environment. Until then every hosted migration fails and the API is not
67
+ deployed; see
68
+ [MetaTables access in each Environment](../../../releasing.md#metatables-access-in-each-environment).
69
+
63
70
  The ms-markets schema is owned and migrated only by this repository's
64
71
  deployment. An application that installs ms-markets to read or write its tables
65
72
  does not apply `msm_migrations:migration`; its own migration Job, if it has one,
@@ -129,6 +129,60 @@ rebuilds the image, runs the `migrate-markets` Job and redeploys the API. Pushes
129
129
  `main` happen only through release merges, so the `main` deployment follows
130
130
  stable releases.
131
131
 
132
+ ### MetaTables access in each Environment
133
+
134
+ !!! warning "Required in every Environment"
135
+ An Organization admin must run `scripts/bootstrap_metatables_access.py` for an
136
+ Environment before ms-markets can be deployed there. Without it:
137
+
138
+ - the `migrate-markets` Job fails, for example with
139
+ `422 MetaTable is not editable` or
140
+ `Writer access to the destination namespace is required`;
141
+ - the API rollout is blocked and no release becomes active.
142
+
143
+ Run it before the first deployment to a new Environment, and again whenever
144
+ the platform recreates the Job or the release.
145
+
146
+ The `migrate-markets` Job and the `markets-api` release run as their own workload
147
+ Users, which start with no grants. The workflow gives both `view` on the MetaTables
148
+ repository (`access.branches`), so they can find the Environment's MetaTables API.
149
+ A workflow cannot grant MetaTables table access, so an Organization admin runs
150
+ `scripts/bootstrap_metatables_access.py` once per Environment. Run it from a
151
+ checkout of the branch deployed there: `development` for the development
152
+ Environment, `main` for Production.
153
+
154
+ ```bash
155
+ uv run --frozen --all-extras python -m scripts.bootstrap_metatables_access --dry-run
156
+ uv run --frozen --all-extras python -m scripts.bootstrap_metatables_access
157
+ ```
158
+
159
+ The script names the Team after the checkout's Environment (`ms-markets-development`,
160
+ `ms-markets-production`). It:
161
+
162
+ - creates the Team if it doesn't exist;
163
+ - adds the workload Users of the Job and release declared in the workflow;
164
+ - creates the `mainsequence.markets` namespace if it is missing;
165
+ - grants the Team Writer on the namespace.
166
+
167
+ Tables in that namespace inherit the grant, including the ones the migration
168
+ registers later. Once `msm.alembic_version` is registered, the script checks each
169
+ workload User's effective access to it.
170
+
171
+ Re-running the script changes only what is missing. Run it again whenever the
172
+ platform recreates the Job or the release, because the new workload User is not
173
+ in the Team.
174
+
175
+ A workload User exists only after the workload's first deployment. In an
176
+ Environment where the Job has not run yet:
177
+
178
+ 1. Run the script, then push. The Job's first run fails, because its workload User
179
+ is not in the Team yet.
180
+ 2. Run the script again.
181
+ 3. Run the Job with `mainsequence code-repository jobs run <JOB_UID>`.
182
+
183
+ The API rolls out on the next push to the branch, because the CLI cannot retry a
184
+ blocked deployment.
185
+
132
186
  ## Failure recovery
133
187
 
134
188
  Before upload, failed checks publish nothing. Correct the problem on
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "ms-markets"
7
- version = "2.2.6.dev17"
7
+ version = "2.2.6.dev18"
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"
@@ -0,0 +1,65 @@
1
+ from __future__ import annotations
2
+
3
+ import pytest
4
+
5
+ from scripts.bootstrap_metatables_access import (
6
+ DeploymentWorkloads,
7
+ deployment_workloads,
8
+ team_name,
9
+ with_team_writer,
10
+ )
11
+
12
+ TEAM = "4d2b8f6e-1c3a-4e5f-9b7d-0a2c4e6f8b19"
13
+ OTHER_TEAM = "7a9c1e3f-5b2d-4f6a-8c0e-2d4f6a8c0e31"
14
+ USER = "2e4a6c8e-0b1d-4f3a-9c5e-7d9f1b3d5f42"
15
+
16
+
17
+ @pytest.mark.parametrize(
18
+ ("environment", "expected"),
19
+ [
20
+ ("development", "ms-markets-development"),
21
+ ("Production", "ms-markets-production"),
22
+ (" Staging EU ", "ms-markets-staging-eu"),
23
+ ],
24
+ )
25
+ def test_team_name_is_derived_from_the_environment(environment: str, expected: str) -> None:
26
+ assert team_name(environment) == expected
27
+
28
+
29
+ def test_team_name_rejects_an_environment_without_letters_or_digits() -> None:
30
+ with pytest.raises(ValueError, match="empty Team name"):
31
+ team_name(" - ")
32
+
33
+
34
+ def test_deployment_workloads_come_from_the_deployment_workflow() -> None:
35
+ assert deployment_workloads() == DeploymentWorkloads(
36
+ job_name="ms-markets migrations",
37
+ release_name="api",
38
+ )
39
+
40
+
41
+ def test_with_team_writer_adds_the_team_and_keeps_other_grants() -> None:
42
+ assignments = {
43
+ "view": {"users": [USER], "teams": [OTHER_TEAM]},
44
+ "edit": {"users": [USER], "teams": []},
45
+ }
46
+
47
+ assert with_team_writer(assignments, TEAM) == {
48
+ "view": {"users": [USER], "teams": sorted([OTHER_TEAM, TEAM])},
49
+ "edit": {"users": [USER], "teams": [TEAM]},
50
+ }
51
+
52
+
53
+ def test_with_team_writer_promotes_a_reader_team() -> None:
54
+ assignments = {"view": {"users": [], "teams": [TEAM]}, "edit": {"users": [], "teams": []}}
55
+
56
+ assert with_team_writer(assignments, TEAM) == {
57
+ "view": {"users": [], "teams": [TEAM]},
58
+ "edit": {"users": [], "teams": [TEAM]},
59
+ }
60
+
61
+
62
+ def test_with_team_writer_changes_nothing_when_the_team_is_already_writer() -> None:
63
+ assignments = {"view": {"users": [], "teams": [TEAM]}, "edit": {"users": [], "teams": [TEAM]}}
64
+
65
+ assert with_team_writer(assignments, TEAM) is None