[project] name = "iconoclast-llm" version = "0.1.0" description = "Research framework for discriminative representation editing in open-weight language models" license = "AGPL-3.0-or-later" authors = [ { name = "Varesh Patel" } ] requires-python = ">=3.10" keywords = ["llm", "transformer", "alignment", "safety", "representation-editing"] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Console", "Environment :: GPU", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] dependencies = [ "accelerate~=1.13", "datasets~=4.7", "hf-transfer~=0.1", "huggingface-hub~=1.7", "immutabledict~=4.3", "kernels~=0.12", "numpy~=2.2", "optuna~=4.7", "peft~=0.18", "psutil~=7.2", "pydantic-settings~=2.13", "questionary~=2.1", "rich~=14.3", "transformers~=5.3", ] [project.optional-dependencies] research = [ "geom-median~=0.1", "imageio~=2.37", "matplotlib~=3.10", "pacmap~=0.8", "scikit-learn~=1.7", ] benchmark = [ "lm-eval[hf]~=0.4", ] quantized = [ "bitsandbytes~=0.49", ] [dependency-groups] dev = [ "ruff>=0.14.5", "ty>=0.0.5", ] [project.scripts] iconoclast = "iconoclast.main:main" [build-system] requires = ["uv_build>=0.8.11,<0.9.0"] build-backend = "uv_build" [tool.uv.build-backend] module-name = "iconoclast"