forked from os-climate/osc-transformer-based-extractor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
130 lines (119 loc) · 2.9 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
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
122
123
124
125
126
127
128
129
130
# Tox configuration file
# Read more under https://tox.wiki/
[gh-actions]
python =
3.11: py311
[tox]
minversion = 3.24
env_list = py{39,310,311},lint
isolated_build = True
[mypy]
explicit_package_bases = True
[testenv]
description = Invoke pytest to run automated tests
deps =
pdm
pydantic>=2.3.0
pytest
setenv =
TOXINIDIR = {toxinidir}
PDM_IGNORE_SAVED_PYTHON="1"
passenv =
HOME
commands =
pdm install --dev
pytest tests
[testenv:tests]
allowlist_externals =
pdm
pytest
setenv =
PYTHONPATH = {toxinidir}/src
commands =
pdm install --dev
pytest tests
[testenv:lint]
description = Perform static analysis and style checks
passenv =
HOMEPATH
PROGRAMDATA
deps =
pdm
pre-commit
allowlist_externals =
pdm
pre-commit
commands =
pdm install -G lint
pre-commit run --all-files {posargs:--show-diff-on-failure}
[testenv:{build,clean}]
description =
build: Build the package in isolation according to PEP517, see https://github.com/pypa/build
clean: Remove old distribution files and temporary build artifacts (./build and ./dist)
skip_install = True
changedir = {toxinidir}
deps =
build: pdm
build: tox-pdm
build: build[virtualenv]
allowlist_externals =
python
pre-commit
pdm
tox
commands =
clean: python -c 'import shutil; [shutil.rmtree(p, True) for p in ("build", "dist", "docs/_build")]'
clean: python -c 'import pathlib, shutil; [shutil.rmtree(p, True) for p in pathlib.Path("src").glob("*.egg-info")]'
build: pdm install
build: pdm build {posargs}
[testenv:cov]
usedevelop = True
deps =
pytest-cov
commands = pytest --cov-report=html {posargs}
[testenv:{docs,doctests,linkcheck}]
description =
docs: Invoke sphinx-build to build the docs
doctests: Invoke sphinx-build to run doctests
linkcheck: Check for broken links in the documentation
setenv =
DOCSDIR = {toxinidir}/docs
BUILDDIR = {toxinidir}/docs/_build
docs: BUILD = html
doctests: BUILD = doctest
linkcheck: BUILD = linkcheck
allowlist_externals =
sphinx
sphinx-build
commands =
sphinx-build --color -b {env:BUILD} -d "{env:BUILDDIR}/doctrees" "{env:DOCSDIR}" "{env:BUILDDIR}/{env:BUILD}" {posargs}
# [testenv:publish]
# description =
# Publish the package you have been developing to a package index server.
# By default, it uses testpypi. If you really want to publish your package
# to be publicly accessible in PyPI, use the `-- --repository pypi` option.
# skip_install = True
# changedir = {toxinidir}
# passenv =
# # See: https://twine.readthedocs.io/en/latest/
# TWINE_USERNAME
# TWINE_PASSWORD
# TWINE_REPOSITORY
# TWINE_REPOSITORY_URL
# deps = twine
# allowlist_externals =
# pdm
# twine
# commands =
# pdm publish --no-build
[tool.flake8]
exclude = tests/*
count = True
max-line-length = 160
max-complexity = 10
# Allow __init__ files to have unused imports.
per-file-ignores = __init__.py:F401
extend-ignore =
# Allow spacing before colon (to favor Black).
E203
E501