[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "nvcurve" version = "0.5.1" description = "Linux GPU V/F curve editor for NVIDIA GPUs" requires-python = ">=3.12" dependencies = [ "fastapi>=0.115", "uvicorn[standard]>=0.30", "nvidia-ml-py>=12.0", "pydantic>=2.0", "httpx>=0.27", "bcrypt>=4.0", "pyserial>=3.5", ] [project.scripts] nvcurve = "nvcurve.cli:main" [dependency-groups] dev = [ "hatchling", # enables local `hatch build` and resolves hatch_build.py imports ] [tool.hatch.build.hooks.custom] [tool.hatch.build.targets.wheel] packages = ["nvcurve"] # The custom build hook (hatch_build.py) compiles the React frontend when # frontend/dist is missing or stale, so `uv tool install git+` works # as a single command. It runs for both wheel and sdist builds. [tool.hatch.build.targets.wheel.force-include] "frontend/dist" = "nvcurve/frontend/dist" [tool.hatch.build.targets.sdist] include = [ "/nvcurve", "/frontend/dist", "/README.md", ]