[project] name = "steer_heal" version = "0.1.0" description = "Distil an activation steering vector into a LoRA, heal the incoherency with a KL-to-original barrier, then loop." requires-python = ">=3.11" dependencies = [ "torch", "transformers", "accelerate", "datasets", "safetensors", "einops", "jaxtyping", "beartype", "loguru", "polars", "tabulate", "tyro", "tqdm", "numpy", "wandb", "plotly", "baukit", # wassname building blocks, vendored under docs/vendor (run `just vendor`) "steering-lite", "iso-kl-figure", "tiny-mfv", "srsly>=2.5.3", "kaleido>=1.3.0", "bitsandbytes>=0.49.2", ] [tool.uv.sources] # Editable path deps to the clones in docs/vendor (wassname's vendor pattern). # w2schar-mini is NOT a dep (needs py3.13 + pinned flash-attn wheels); we vendor # it for reference and copy its adapter/bake/plot modules into src/steer_heal/ws. steering-lite = { path = "docs/vendor/steering-lite", editable = true } iso-kl-figure = { path = "docs/vendor/isokl_steering_calibration", editable = true } tiny-mfv = { path = "docs/vendor/tinymfv", editable = true } baukit = { git = "https://github.com/davidbau/baukit.git" } [tool.ruff.lint] ignore = ["F722"] # jaxtyping shape strings [tool.uv] exclude-newer = "5 days" [build-system] requires = ["setuptools>=68"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] where = ["src"]