Files
mcm-26-b/pyproject.toml
T
2026-09-11 16:56:39 +08:00

50 lines
1.2 KiB
TOML

[project]
name = "mcm26b"
version = "0.2.0"
description = "CUMCM 2026 B题:无线电干扰源的快速自动定位与清除(协议基线、几何内核与策略骨架)"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"requests>=2.31",
]
[dependency-groups]
dev = [
"optuna>=5.0.0",
"pytest>=8",
# 独立评测机(自建模拟器):仅测试侧依赖,运行时代码零导入(懒加载 + 守卫测试)
"mcm26b-referee",
]
rl = [
"gymnasium>=1.1",
"stable-baselines3>=2.6",
"torch==2.11.0",
]
# uv 工作区:referee/ 是独立包(零第三方依赖、不依赖 mcm26b),双方仅通过 HTTP 协议耦合
[tool.uv.workspace]
members = ["referee"]
# RL 训练使用 CUDA 12.8 版 PyTorch(本机 RTX 4060;运行时依赖保持轻量)。
[[tool.uv.index]]
name = "pytorch-cu128"
url = "https://download.pytorch.org/whl/cu128"
explicit = true
[tool.uv.sources]
mcm26b-referee = { workspace = true }
torch = { index = "pytorch-cu128" }
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/mcm26b"]
[project.scripts]
mcm26b = "mcm26b.cli:main"
[tool.pytest.ini_options]
testpaths = ["tests", "referee/tests"]