Skip to content

Commit 417ea30

Browse files
committed
use PEP 639 format; add ruff rules
1 parent f48e8ef commit 417ea30

File tree

3 files changed

+51
-31
lines changed

3 files changed

+51
-31
lines changed

pyproject.toml

Lines changed: 51 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["setuptools>=40.8.0", "wheel"]
2+
requires = ["setuptools>=64.0"]
33
build-backend = "setuptools.build_meta"
44

55
[project]
@@ -13,19 +13,15 @@ readme = "README.md"
1313
classifiers = [
1414
"Development Status :: 3 - Alpha",
1515
"Programming Language :: Python :: 3",
16-
"License :: OSI Approved :: MIT License",
1716
"Operating System :: OS Independent",
1817
]
1918
requires-python = ">=3.10"
20-
license = { "text" = "MIT" }
19+
license = { text = "MIT" }
2120
dependencies = [
22-
"evaluate",
2321
"datasets>=2.16.0",
2422
"evaluate>=0.4.0",
23+
"jinja2",
2524
"jsonlines",
26-
"numexpr",
27-
"peft>=0.2.0",
28-
"pybind11>=2.6.2",
2925
"pytablewriter",
3026
"rouge-score>=0.0.4",
3127
"sacrebleu>=1.5.0",
@@ -55,21 +51,21 @@ Repository = "https://github.com/EleutherAI/lm-evaluation-harness"
5551
[project.optional-dependencies]
5652
# Model backend dependencies
5753
api = ["requests", "aiohttp", "tenacity", "tqdm", "tiktoken"]
58-
hf = ["transformers>=4.1","torch>=1.8", "accelerate>=0.26.0"]
54+
hf = ["transformers>=4.1","torch>=1.8", "accelerate>=0.26.0", "peft>=0.2.0",]
5955
vllm = ["vllm>=0.4.2"]
6056
gptq = ["auto-gptq[triton]>=0.6.0"]
6157
gptqmodel = ["gptqmodel>=1.0.9"]
62-
ipex = ["optimum"]
58+
ipex = ["optimum-intel"]
6359
ibm_watsonx_ai = ["ibm_watsonx_ai>=1.1.22", "python-dotenv"]
64-
#mamba = ["mamba_ssm", "causal-conv1d==1.0.2", "torch"] # build error
65-
neuronx = ["optimum[neuronx]>0.0.1"]
60+
# mamba requires CUDA (nvcc) - cannot build on macOS/CPU-only systems
61+
# mamba = ["mamba_ssm", "causal-conv1d==1.0.2", "torch"]
6662
optimum = ["optimum[openvino]"]
6763
sparsify = ["sparsify"]
6864
sae_lens = ["sae_lens"]
6965
# Task specific dependencies
7066
acpbench = ["lark>=1.1.9", "tarski[clingo]==0.8.2", "pddl==0.4.2", "kstar-planner==1.4.2"]
7167
audiolm_qwen = ["librosa", "soundfile"]
72-
dev = ["pytest", "pytest-cov", "pytest-xdist", "pre-commit", "requests", "aiohttp", "tenacity", "tqdm", "tiktoken", "sentencepiece"]
68+
dev = ["pytest", "pytest-cov", "pytest-xdist", "pre-commit", "requests", "aiohttp", "tenacity", "tqdm", "tiktoken", "sentencepiece", "ruff"]
7369
hf_transfer = ["hf_transfer"]
7470
ifeval = ["langdetect", "immutabledict", "nltk>=3.9.1"]
7571
japanese_leaderboard = ["emoji==2.14.0", "neologdn==0.5.3", "fugashi[unidic-lite]", "rouge_score>=0.1.2"]
@@ -92,12 +88,16 @@ tasks = [
9288
"lm_eval[japanese_leaderboard]",
9389
"lm_eval[longbench]",
9490
"lm_eval[libra]",
95-
"lm_eval[mamba]",
9691
"lm_eval[math]",
9792
"lm_eval[multilingual]",
9893
"lm_eval[ruler]",
9994
]
10095

96+
[dependency-groups]
97+
dev = [
98+
"lm_eval[api]", "lm_eval[dev]", "lm_eval[hf]","sentencepiece"
99+
]
100+
101101
[tool.uv]
102102
conflicts = [
103103
[
@@ -122,18 +122,44 @@ plugins.md028.enabled = false # no-blanks-blockquote
122122
plugins.md029.allow_extended_start_values = true # ol-prefix
123123
plugins.md034.enabled = false # no-bare-urls
124124

125-
[tool.ruff.lint]
126-
extend-select = ["I", "W605"]
127-
128-
[tool.ruff.lint.isort]
129-
lines-after-imports = 2
130-
known-first-party = ["lm_eval"]
125+
[tool.ruff]
126+
lint.extend-select = [
127+
"I", # isort
128+
"UP", # pyupgrade
129+
"E", # pycodestyle errors
130+
"C419", # unnecessary-comprehension-in-call
131+
"F", # pyflakes
132+
"B", # flake8-bugbear
133+
"SIM", # flake8-simplify
134+
"RUF034", # useless-if-else
135+
"W605", # invalid-escape-sequence
136+
"FURB", # refurb
137+
]
138+
lint.fixable = [
139+
"I001", # unsorted-imports
140+
"F401", # unused-import
141+
"UP", # pyupgrade fixes
142+
]
143+
lint.ignore = [
144+
"E402", # module-import-not-at-top-of-file
145+
"E731", # lambda-assignment
146+
"E501", # line-too-long
147+
"E111", # indentation-with-invalid-multiple
148+
"E114", # indentation-with-invalid-multiple-comment
149+
"E117", # over-indented
150+
"E741", # ambiguous-variable-name
151+
"E701", # multiple-statements-on-one-line-colon
152+
]
131153

132154
[tool.ruff.lint.extend-per-file-ignores]
133-
"__init__.py" = ["F401", "F402", "F403"]
134-
"utils.py" = ["F401"]
135-
136-
[dependency-groups]
137-
dev = [
138-
"lm_eval[api]", "lm_eval[dev]", "lm_eval[hf]","sentencepiece"
155+
"__init__.py" = [
156+
"F401", # unused-import
157+
"F402", # import-shadowed-by-loop-var
158+
"F403", # undefined-local-with-import-star
159+
"F405", # undefined-local-with-import-star-usage
139160
]
161+
162+
[tool.ruff.lint.isort]
163+
combine-as-imports = true
164+
known-first-party = ["lm_eval"]
165+
lines-after-imports = 2

requirements.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

setup.py

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)