Skip to content

feat(packaging): V7 distribution split — add quant-platform-* package manifests#32

Merged
magic-alt merged 2 commits into
mainfrom
feature/v7-distribution-split
May 21, 2026
Merged

feat(packaging): V7 distribution split — add quant-platform-* package manifests#32
magic-alt merged 2 commits into
mainfrom
feature/v7-distribution-split

Conversation

@magic-alt
Copy link
Copy Markdown
Owner

Summary

V6 Phase 7 — distribution split: introduce independent installable packages for each platform layer.

Changes

  • Add packages/quant-platform-core/, quant-platform-sdk/, quant-platform-adapters-cn/, quant-platform-ml/, quant-platform-web/, quant-platform-cli/ with pyproject.toml manifests and layered dependency declarations.
  • Add quant_platform_*/ import facades at the root so existing import quant_platform_core paths continue to work without modification.
  • Add Phase 7 packaging tests covering distribution manifests, layered dependencies, root package discovery, facade imports, and README discoverability.

Conflict Resolution

  • Resolved one CHANGELOG.md conflict between this branch (Phase 7) and origin/main (Phase 6 Platform/Runtime alignment) — both sets of entries are retained.

Test Results

All CI checks pass locally:

1326 passed, 35 skipped in 118.89s

Copilot AI review requested due to automatic review settings May 21, 2026 01:06
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a Phase 7 “distribution split” for the Quant Platform monorepo by adding separate installable distribution manifests (under packages/) while keeping existing runtime imports (src.*) working via new root-level quant_platform_* facade packages. It also updates docs/changelog and adds tests to validate the packaging layout.

Changes:

  • Add six packages/quant_platform_*/pyproject.toml manifests defining layered dependencies and console scripts.
  • Add root quant_platform_* facade packages for backwards-compatible imports.
  • Add documentation + changelog updates and a new packaging-focused test suite.

Reviewed changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
tests/test_distribution_split.py Adds tests validating manifests, dependency layering, facade imports, and docs discoverability.
README.md Updates architecture section to describe runtime vs distribution views and lists split packages.
quant_platform_web/cli.py Adds console entrypoint module for the web distribution.
quant_platform_web/__init__.py Adds web distribution facade constants intended to point to frontend/static asset locations.
quant_platform_sdk/__init__.py Adds SDK facade that re-exports src.sdk surface.
quant_platform_ml/__init__.py Adds ML facade with group constants.
quant_platform_core/__init__.py Adds core facade re-exporting src.core and contract version.
quant_platform_cli/backtest.py Adds quant-backtest console entry point wrapper.
quant_platform_cli/__init__.py Adds CLI facade exposing main.
quant_platform_adapters_cn/__init__.py Adds adapters-cn facade with group constants.
pyproject.toml Expands root setuptools package discovery to include quant_platform_* facades.
packages/README.md Documents the distribution split and provides build examples.
packages/quant_platform_web/pyproject.toml Defines the quant-platform-web distribution manifest and included packages.
packages/quant_platform_sdk/pyproject.toml Defines the quant-platform-sdk distribution manifest.
packages/quant_platform_ml/pyproject.toml Defines the quant-platform-ml distribution manifest and extras.
packages/quant_platform_core/pyproject.toml Defines the quant-platform-core distribution manifest and included modules.
packages/quant_platform_cli/pyproject.toml Defines the quant-platform-cli distribution manifest and scripts.
packages/quant_platform_adapters_cn/pyproject.toml Defines the quant-platform-adapters-cn distribution manifest.
docs/ROADMAP.md Marks Phase 7 distribution split as implemented and clarifies packaging boundary.
docs/architecture/open-platform.md Adds Phase 7 distribution status section and updates phase table.
CHANGELOG.md Adds Phase 7 changelog entries and test notes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +5 to +7
import tomllib


Comment on lines +4 to +8
from pathlib import Path

REPOSITORY_ROOT = Path(__file__).resolve().parent.parent
FRONTEND_DIR = REPOSITORY_ROOT / "frontend"
STATIC_WEB_DIR = REPOSITORY_ROOT / "src" / "platform" / "web"
Comment thread quant_platform_web/cli.py
import argparse
import os

from src.platform.api_server import run_api_server
include = [
"quant_platform_web*",
"src.platform*",
]
qlib = ["qlib>=0.9.2"]
finrl = ["finrl>=0.3.7", "stable-baselines3>=2.2.0", "gymnasium>=0.29.0"]
torch = ["torch>=2.1.0"]
all = ["quant-platform-ml[qlib,finrl,torch]", "lightgbm>=4.0.0"]
Comment on lines +39 to +42
"src.backtest*",
"src.data_sources*",
"src.optimizer*",
"src.strategies*",
@magic-alt magic-alt merged commit b842e91 into main May 21, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants