forked from leanEthereum/leanSpec
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtox.ini
More file actions
68 lines (58 loc) · 1.52 KB
/
Copy pathtox.ini
File metadata and controls
68 lines (58 loc) · 1.52 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
[tox]
env_list =
all-checks
pytest
docs
skip_missing_interpreters = true
[testenv]
basepython = python3
uv_python = >=3.12
[testenv:all-checks]
description = Run all quality checks (lint, typecheck, spellcheck)
extras =
lint
typecheck
test
docs
commands =
{[testenv:lint]commands}
{[testenv:typecheck]commands}
{[testenv:spellcheck]commands}
[testenv:lint]
description = Lint and code formatting checks (ruff)
extras = lint
commands =
ruff check --no-fix --show-fixes src tests
ruff format --check src tests
[testenv:fix]
description = Auto-fix linting and formatting issues (ruff)
extras = lint
commands =
ruff check --fix src tests
ruff format src tests
[testenv:typecheck]
description = Run type checking (mypy)
extras =
typecheck
test
commands = mypy src tests
[testenv:spellcheck]
description = Run spell checking (codespell)
extras = docs
commands = codespell src tests docs README.md CLAUDE.md --skip="*.lock,*.svg,.git,__pycache__,.mypy_cache,.pytest_cache" --ignore-words=.codespell-ignore-words.txt
[testenv:pytest]
description = Run tests (pytest)
extras = test
commands = pytest {posargs} tests/
[testenv:pytest-cov]
description = Run tests with coverage (pytest)
extras = test
commands = pytest --cov --cov-report=html --cov-report=term {posargs}
[testenv:docs]
description = Serve documentation locally (mkdocs)
extras = docs
commands = mkdocs serve {posargs}
[testenv:docs-build]
description = Build documentation (mkdocs)
extras = docs
commands = mkdocs build {posargs}