[project]
name = "iso-kl-figure"
version = "0.0.1"
description = "Minimal repo: produce one figure + one table proving iso-KL calibration is stable across models/seeds/windows."
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
    "torch>=2.1",
    "numpy>=1.26",
    "einops>=0.7",
    "jaxtyping>=0.2.34",
    "safetensors>=0.5",
    "loguru>=0.7",
    "tqdm>=4.66",
]

[project.optional-dependencies]
test = ["pytest", "tabulate", "beartype>=0.18"]
hf = ["accelerate>=1.6", "transformers>=4.51"]
plot = ["matplotlib>=3.8", "polars>=1.0"]
all = [
    "pytest", "tabulate", "beartype>=0.18",
    "accelerate>=1.6", "transformers>=4.51",
    "bitsandbytes>=0.46.1",
    "matplotlib>=3.8", "polars>=1.0",
    "tyro>=0.9",
]

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"

[tool.setuptools.packages.find]
where = ["src"]

[tool.ruff.lint]
ignore = ["F722"]  # jaxtyping shape strings

[tool.uv]
exclude-newer = "5 days"