-
Notifications
You must be signed in to change notification settings - Fork 949
/
tox.ini
53 lines (45 loc) · 1.34 KB
/
tox.ini
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
[tox]
envlist = py38,py39,py310,py311,py312
skip_missing_interpreters = true
# Used to run tests, **do not** set GS_CREDS_FILENAME to run off-line tests
[testenv]
description = Run project test suite
passenv =
GS_RECORD_MODE
GS_CREDS_FILENAME
APPDATA
deps = -r test-requirements.txt
commands = pytest {posargs} tests/
[flake8]
extend-ignore = E203
extend-exclude = .tox,./env,./gspread/__init__.py
max-line-length = 255
max-complexity = 10
show-source = True
statistics = True
[isort]
extend_skip=.tox,./env
profile=black
# Used by the CI to check code format/security
[testenv:lint]
description = Run code linters
deps = -r lint-requirements.txt
commands = black --check --diff --extend-exclude "./env" .
codespell --skip=".tox,.git,./docs/build,.mypy_cache,./env" .
flake8 .
isort --check-only .
mypy --install-types --non-interactive --ignore-missing-imports ./gspread ./tests
# Used by developers to format code, best advised to be run before commit
[testenv:format]
description = Format code
deps = -r lint-requirements.txt
commands = black --extend-exclude "./env" .
isort .
[testenv:build]
description = Build project package
deps = build
commands = python -m build
[testenv:doc]
description = Build the documentation
deps = -r docs/requirements.txt
commands = sphinx-build -W ./docs ./docs/build