[project] name = "heretic-llm" version = "2.0.0.dev0" description = "Fully automatic censorship removal for language models" readme = "README.md" license = "AGPL-3.0-or-later" authors = [ { name = "Philipp Emanuel Weidmann", email = "pew@worldwidemann.com" } ] requires-python = ">=3.10" keywords = ["llm", "transformer", "abliteration"] classifiers = [ "Development Status :: 4 - Beta", "Environment :: Console", "Environment :: GPU", "Intended Audience :: Science/Research", "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.15", "bitsandbytes~=0.50", "datasets~=5.0", "huggingface-hub~=1.33", "immutabledict~=4.3", "langdetect~=1.0", "lm-eval[hf]~=0.4", "numpy~=2.2", "optuna~=5.0", "peft~=0.21", "psutil~=7.2", "py-cpuinfo~=9.0", "pydantic-settings~=2.15", "questionary~=2.1", "rich~=15.0", "tomli-w~=1.2", "torch", # version deliberately unspecified "torchvision", # version deliberately unspecified "tqdm~=4.70", "transformers[kernels]~=5.18", ] [dependency-groups] dev = [ "ruff>=0.16.9", "ty>=0.0.84", ] [project.urls] Homepage = "https://heretic-project.org" Documentation = "https://heretic-project.org/tutorial" Repository = "https://github.com/p-e-w/heretic.git" Issues = "https://github.com/p-e-w/heretic/issues" Changelog = "https://github.com/p-e-w/heretic/releases" [project.scripts] heretic = "heretic.main:main" [build-system] requires = ["uv_build>=0.12.21,<0.13.0"] build-backend = "uv_build" [tool.ruff.lint] ignore = [ "B023", # "Function definition does not bind loop variable" "BLE001", # "Do not catch blind exception" "TRY002", # "Create your own exception" "SIM117", # "Use a single `with` statement with multiple contexts instead of nested `with` statements" ] [tool.uv] # TODO: Re-enable before 2.0 release! #exclude-newer = "7 days" [tool.uv.sources] torch = { index = "pytorch" } torchvision = { index = "pytorch" } [[tool.uv.index]] # Default to CPU wheels for PyTorch to avoid issues in CI. # Can be overridden by passing `--index pytorch=` to uv. name = "pytorch" url = "https://download.pytorch.org/whl/cpu" explicit = true [tool.uv.build-backend] module-name = "heretic"