File size: 1,674 Bytes
3236af9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
[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"