-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
90 lines (78 loc) · 2.32 KB
/
Copy pathpyproject.toml
File metadata and controls
90 lines (78 loc) · 2.32 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
[tool.poetry]
name = "tuneos"
version = "0.1.0"
description = "TuneOS"
authors = ["Shekhar <shekhar59324@gmail.com>"]
package-mode = false
[tool.poetry.dependencies]
python = ">=3.10,<3.15"
torch = ">=2.1.0"
transformers = ">=4.40.0"
peft = ">=0.10.0"
bitsandbytes = ">=0.43.0"
datasets = ">=2.18.0"
accelerate = ">=0.28.0"
trl = ">=0.12.0"
reflex = ">=0.5.0"
celery = {extras = ["redis"], version = ">=5.3.0"}
redis = ">=5.0.0"
huggingface-hub = ">=0.22.0"
python-dotenv = ">=1.0.0"
evaluate = ">=0.4.0"
nltk = ">=3.8.0"
pandas = ">=2.0.0"
cachetools = ">=5.3.0"
python-json-logger = ">=2.0.0"
[tool.poetry.group.postgres.dependencies]
psycopg2-binary = ">=2.9.0"
[tool.poetry.group.modal.dependencies]
modal = ">=0.64.0"
[tool.poetry.group.desktop.dependencies]
PyQt6 = ">=6.6.0"
PyQt6-WebEngine = ">=6.6.0"
httpx = ">=0.27.0"
fastapi = "^0.136.3"
uvicorn = ">=0.48,<0.50"
pyinstaller = "^6.20.0"
[tool.poetry.group.dev.dependencies]
ruff = ">=0.6.0"
pytest = ">=8.0.0"
mypy = ">=1.10.0"
[tool.poetry.scripts]
tuneos = "main:main"
[tool.ruff]
line-length = 100
target-version = "py310"
extend-exclude = [".web", ".states", "build", "dist", "hf_deploy", "reflex.lock"]
[tool.ruff.lint]
select = ["E", "F", "I", "W", "UP", "B"]
ignore = ["E501", "B008"]
[tool.ruff.lint.per-file-ignores]
# Test modules deliberately stub heavy dependencies in sys.modules before
# importing the modules under test, so imports are not at the top of the file.
"tests/**" = ["E402"]
[tool.mypy]
# Excluded: the Reflex UI layer (dynamic Var typing). The ML framework wrappers
# (trl, transformers, peft) have incomplete stubs so false positives are silenced
# per-module below rather than by dropping the files entirely.
files = [
"trainer/config.py",
"trainer/metrics.py",
"trainer/evaluate.py",
"app/state/experiments_db.py",
"app/api/",
"workers/",
]
python_version = "3.10"
ignore_missing_imports = true
warn_unused_ignores = false
check_untyped_defs = true
[[tool.mypy.overrides]]
module = ["trl.*", "transformers.*", "peft.*", "torch.*", "bitsandbytes.*", "datasets.*", "accelerate.*"]
ignore_errors = true
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"
# The PyQt smoke test requires a display server; it is exercised in the
# desktop packaging job, not the headless unit-test run.
norecursedirs = [".web", ".states", "build", "dist"]