| 【FEAT】发布 msmodeling 统一 wheel 包与 CLI 入口 Co-authored-by: liujiawang<anonymousdev@163.com> # message auto-generated for no-merge-commit merge: !370 merge pack into master 【FEAT】发布 msmodeling 统一 wheel 包与 CLI 入口 Created-by: AvadaKedavrua Commit-by: liujiawang Merged-by: ascend-robot Description: ## 修改原因 msmodeling 此前无标准 pip 安装路径,OptiX 独立于 experimental/ 维护,CLI 入口分散。需要统一为 pip install msmodeling 可安装的主 wheel,并保留源码 python -m 双轨用法。 --- ## 修改内容 - 包名改为 msmodeling(0.2.0),使用 hatchling + uv build --wheel 构建 py3-none-any wheel - experimental/optix/ 迁入根目录 optix/,并入主包;专属依赖(loguru、pyswarms 等)作为核心依赖 - 新增 cli/main.py 作为唯一 console script:msmodeling inference|optix ... - 支持 python -m optix;OptiX CLI 集成 logo(--help 不打印) - web_ui/ 默认打入主 wheel;gradio 保留在核心依赖 - 新增 scripts/build.sh,支持 MSMODELING_WHEEL_OUTPUT_DIR 控制 wheel 输出目录(CI 归档) - CI gate tests/.ci/gate_policy.yaml 新增 optix/ 为 coverage 源码根 - 保留 python -m cli.inference.* 双轨并列 --- ## 自验证 ### Wheel 构建与包边界 目的:确认 wheel 产物名称、内容与包边界符合方案 步骤: 1. 执行 bash scripts/build.sh 2. 检查 dist/msmodeling-0.2.0-py3-none-any.whl 内容 结果: Building wheel... Successfully built dist/msmodeling-0.2.0-py3-none-any.whl Built wheel: dist/msmodeling-0.2.0-py3-none-any.whl Archive: dist/msmodeling-0.2.0-py3-none-any.whl 2206 cli/main.py 4738 optix/config.toml ### CLI 与 logo 目的:确认统一入口、python -m optix 及 logo 行为 步骤: 1. uv run msmodeling -h 2. uv run python -m optix --help 3. uv run pytest tests/regression/cli/test_logo_cli_hooks.py -q 结果: 5 passed in 0.59s ### CI 输出目录环境变量 目的:确认 CI 可通过环境变量指定 wheel 归档目录 步骤: 1. MSMODELING_WHEEL_OUTPUT_DIR=/tmp/msmodeling-whl-test bash scripts/build.sh 2. ls /tmp/msmodeling-whl-test/ 结果: msmodeling-0.2.0-py3-none-any.whl See merge request: Ascend/msmodeling!370 | 10 天前 |