Files
heretic/pyproject.toml
T

91 lines
2.4 KiB
TOML

[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=<url>` to uv.
name = "pytorch"
url = "https://download.pytorch.org/whl/cpu"
explicit = true
[tool.uv.build-backend]
module-name = "heretic"