File size: 1,210 Bytes
4be6a52 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | [build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "stackcraft"
version = "0.1.0"
description = "A reproducible falling-block playground for decision models"
readme = "README.md"
requires-python = ">=3.13,<3.14"
dependencies = ["fastapi", "uvicorn"]
[project.optional-dependencies]
ml = [
"torch==2.14.1",
"torchvision",
"transformers==5.18.0",
"peft==0.21.2",
"safetensors>=0.8,<1",
"huggingface-hub>=1.33,<2",
"pillow>=12,<13",
]
[project.scripts]
stackcraft = "stackcraft.cli:main"
[dependency-groups]
dev = [
"pytest",
"ruff",
"ty",
"httpx2>=2.13.1",
]
[tool.hatch.build.targets.wheel]
packages = ["src/stackcraft"]
[tool.ruff]
target-version = "py313"
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra"
[tool.uv]
required-version = ">=0.12.23,<0.13"
[tool.uv.sources]
torch = [{ index = "pytorch-cu130", marker = "sys_platform == 'linux'" }]
torchvision = [{ index = "pytorch-cu130", marker = "sys_platform == 'linux'" }]
[[tool.uv.index]]
name = "pytorch-cu130"
url = "https://download.pytorch.org/whl/cu130"
explicit = true
|