-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathpyproject.toml
More file actions
121 lines (104 loc) · 2.54 KB
/
Copy pathpyproject.toml
File metadata and controls
121 lines (104 loc) · 2.54 KB
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["steerling"]
[project]
name = "steerling"
description = "Steerling: An interpretable causal diffusion language model with concept steering"
version = "0.2.0"
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.13"
authors = [
{ name = "Guide Labs" },
]
keywords = ["language-model", "interpretability", "diffusion", "concept-steering"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [
# Core inference dependencies
"torch ~= 2.8.0",
"triton >= 3.0.0",
"tiktoken ~= 0.8.0",
"safetensors >= 0.4.0",
"transformers >= 4.40.0, < 5.0.0",
"huggingface-hub >= 0.20.0",
"pydantic ~= 2.10.0",
"numpy ~= 2.3.0",
"pandas ~= 2.2.3",
"pyarrow >= 15.0.0",
]
# LM evaluation harness
[project.optional-dependencies]
eval = [
"lm-eval ~= 0.4.0",
"tqdm ~= 4.67.1",
]
# Notebook environment for analysis
notebook = [
"jupyter ~= 1.1.1",
"ipykernel ~= 6.29.5",
"matplotlib ~= 3.9.2",
"ipywidgets ~= 8.1.5",
"seaborn ~= 0.13.2",
]
# Testing
test = [
"pytest ~= 8.3.0",
]
# Development tools
dev-tools = [
"pre-commit ~= 4.0.1",
"ruff ~= 0.8.4",
]
# Type checking (optional)
type-check = [
"ty",
]
# Everything for development
dev = [
"steerling[eval]",
"steerling[notebook]",
"steerling[test]",
"steerling[dev-tools]",
"steerling[type-check]",
]
[project.urls]
Homepage = "https://github.com/guidelabs/steerling"
Repository = "https://github.com/guidelabs/steerling"
[tool.uv.sources]
# PyTorch with CUDA 12.8 (GPU only)
torch = { index = "pytorch-cu128" }
[[tool.uv.index]]
name = "pytorch-cu128"
url = "https://download.pytorch.org/whl/cu128"
explicit = true
[tool.pyright]
include = ["steerling", "tests", "scripts"]
reportPrivateImportUsage = "none"
[tool.pytest.ini_options]
addopts = "--import-mode=importlib"
testpaths = ["tests"]
[tool.ruff]
line-length = 110
extend-exclude = ["*.ipynb"]
[tool.ruff.lint]
select = [
"E", # pycodestyle
"F", # Pyflakes
"UP", # pyupgrade
"B", # flake8-bugbear
"SIM", # flake8-simplify
"NPY", # NumPy-specific rules
]
ignore = [
"E501", # line too long (handled by formatter)
]
[tool.ruff.lint.pydocstyle]
convention = "google"