[project] name = "giant" version = "0.1.0" description = "Geant4 step-function surrogate via conditional flow matching" readme = "README.md" requires-python = ">=3.12" dependencies = [ "numpy>=1.26,<3", "pandas>=2.2,<4", "pyarrow>=16,<25", "tqdm>=4.60,<5", "typer>=0.12,<1", "pyyaml>=6,<7", ] [project.optional-dependencies] cpu = [ "torch>=2.3,<2.4", ] cuda = [ "torch>=2.3,<2.4", ] dev = [ "pytest>=8,<10", "ruff>=0.15,<1", "ty>=0.0.50,<0.1", "giant[convert,analysis,geometry]", ] geometry = [ "scikit-learn>=1.4,<2", ] convert = [ "uproot>=5.3,<6", "awkward>=2.6,<3", "polars>=1.0,<2", ] analysis = [ "matplotlib>=3.8,<4", "polars>=1.0,<2", "ipykernel>=7.3.0", ] [project.scripts] giant = "giant.cli:app" dwarf = "scripts.dwarf:app" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["giant", "scripts"] [tool.uv] conflicts = [ [ { extra = "cpu" }, { extra = "cuda" }, ], ] [tool.uv.sources] torch = [ { index = "pytorch-cpu", extra = "cpu" }, { index = "pytorch-cu118", extra = "cuda" }, ] [[tool.uv.index]] name = "pytorch-cpu" url = "https://download.pytorch.org/whl/cpu" explicit = true [[tool.uv.index]] name = "pytorch-cu118" url = "https://download.pytorch.org/whl/cu118" explicit = true