55 lines
1.5 KiB
TOML
55 lines
1.5 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",
|
||
"sb3-contrib==2.9.0",
|
||
"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 }
|
||
# CUDA 12.8 版 PyTorch 仅限 Windows/Linux(RTX 4060 训练机);
|
||
# macOS (Apple Silicon, MPS) 回落到 PyPI 官方轮子。
|
||
torch = [
|
||
{ index = "pytorch-cu128", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
|
||
]
|
||
|
||
[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"]
|