Files
massive-cloud/alg/delivery_v1.2/underframe_deflection/pyproject.toml
lipan cec0766e67 feat: 升级算法包 delivery_v1.1 → v1.2,新增任务级 CAD 与测距面板
- 算法包替换为 delivery_v1.2(coupler_panel 新增 autotune/layer_select,underframe_deflection 新增 single_beam 管线),删除 delivery_v1.1
- manifests/adapters 的 PYTHONPATH 与版本说明同步更新到 v1.2
- 新增任务级 CAD 文件支持(task_cad_files 表、上传/读取路由、TaskManager 全选与加载显示)
- 新增 train-measurement 自定义前端面板(YAML 编辑器 + 可视化 ROI 配置 + 3D 取点)
- PointCloudViewer 支持 PLY 叠加层渲染与 ROI 拾取
- Dockerfile 改用 Miniforge 安装 pythonocc-core,修复 libgomp/libstdc++ 依赖
2026-06-11 02:30:04 +00:00

75 lines
2.5 KiB
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "underframe-deflection"
version = "1.1.0"
description = "High-speed train underframe longitudinal beam deflection measurement from scan point clouds + CAD reference."
readme = "README.md"
requires-python = ">=3.10"
license = { text = "Proprietary" }
authors = [
{ name = "PKU High-Speed Train Project Team" },
]
keywords = ["point-cloud", "deflection", "ICP", "CAD", "metrology", "high-speed-train"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Manufacturing",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Image Processing",
]
# Core dependencies — required for compute_deflection() and registration.
dependencies = [
"numpy>=1.23,<3.0",
"scipy>=1.10,<2.0",
]
[project.optional-dependencies]
# Required by render_plots() and run_measurement_pipeline() (writes PNGs).
viz = ["matplotlib>=3.5,<4.0"]
# Required by write_excel_report(); pipeline degrades gracefully if missing.
excel = ["openpyxl>=3.1,<4.0"]
# ONLY for the standalone test-data generator under tools/cad_sampling/
# (step_to_pointcloud.py). NOT needed by the measurement algorithm itself
# and deliberately kept out of `all` so the runtime stays light.
sampling = ["cadquery>=2.4"]
# Convenience meta-extra that pulls everything an integrator usually wants
# at RUNTIME (does NOT include the heavy `sampling` toolchain).
all = [
"matplotlib>=3.5,<4.0",
"openpyxl>=3.1,<4.0",
]
[project.scripts]
underframe-measure = "underframe_deflection.cli:main"
[project.urls]
# Fill in your internal hosting URLs before publishing.
# Homepage = "https://example.invalid/underframe-deflection"
# Issues = "https://example.invalid/underframe-deflection/issues"
# ---------------------------------------------------------------------------
# Package layout
#
# This pyproject.toml lives inside the package directory itself
# (delivery_v1.1/underframe_deflection/), so the source root and the
# package source are the same folder.
# ---------------------------------------------------------------------------
[tool.setuptools]
packages = ["underframe_deflection"]
package-dir = { "underframe_deflection" = "." }
include-package-data = false
[tool.setuptools.package-data]
underframe_deflection = ["py.typed"]