算法更新: delivery v1.2.1、平整度v1.5、测距v2.2、整车配准v1.3 适配器: vehicle-registration 新增、各算法 manifest 和 adapter 更新 后端: taskCadFiles/source 字段迁移、derivedPointClouds 注册、取消任务联动 前端: ElapsedTime 时长显示、两步算法流程、canRun 逻辑修复 文档: 新增5份算法性能分析报告
75 lines
2.5 KiB
TOML
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"]
|