| [tox] |
| envlist = |
| validate |
| linting |
| typecheck |
| |
| |
| [testenv:validate] |
| skip_install = true |
| dependency_groups = validate |
| commands = |
| validate-pyproject ./pyproject.toml |
| |
| |
| [testenv:docs] |
| skip_install = true |
| deps = |
| -r {toxinidir}/docs/requirements.txt |
| -r {toxinidir}/requirements.txt |
| commands = |
| # generate `docs/source/api.rst` with module listing |
| {envpython} ./generate_api_module_listing.py |
| # regenerate autodoc stub pages |
| sphinx-autogen docs/source/api.rst |
| # build api docs |
| sphinx-build -b html -d ../build/docs/doctrees docs/source ../build/docs/api/py {posargs} |
| setenv = |
| PYTHONPATH = {toxinidir}/. |
| |
| |
| [testenv:typecheck] |
| skip_install = true |
| deps = |
| -r {toxinidir}/requirements.txt |
| dependency_groups = typecheck |
| commands = |
| mypy --install-types selenium {posargs} |
| |
| |
| [testenv:linting] |
| skip_install = true |
| dependency_groups = lint |
| commands = |
| ruff check --fix --show-fixes --exit-non-zero-on-fix {posargs:.} |
| ruff format --exit-non-zero-on-format {posargs:.} |