[tox] envlist = py{39,310,311,312,313},lint,mypy,mypy-samples-{image,json} skipsdist = True [testenv] usedevelop = True deps = -r{toxinidir}/requirements/test.txt -r{toxinidir}/requirements/publish.txt setenv = PYTESTARGS = -v -s --tb=long --cov=cloudevents --cov-report term-missing --cov-fail-under=95 commands = pytest {env:PYTESTARGS} {posargs} [testenv:reformat] basepython = python3.12 deps = black isort commands = black . isort cloudevents samples [testenv:lint] basepython = python3.12 deps = black isort flake8 commands = black --check . isort -c cloudevents samples flake8 cloudevents samples --ignore W503,E731 --extend-ignore E203 --max-line-length 88 [testenv:mypy] basepython = python3.12 deps = -r{toxinidir}/requirements/mypy.txt # mypy needs test dependencies to check test modules -r{toxinidir}/requirements/test.txt commands = mypy cloudevents [testenv:mypy-samples-{image,json}] basepython = python3.12 setenv = mypy-samples-image: SAMPLE_DIR={toxinidir}/samples/http-image-cloudevents mypy-samples-json: SAMPLE_DIR={toxinidir}/samples/http-json-cloudevents deps = -r{toxinidir}/requirements/mypy.txt -r{env:SAMPLE_DIR}/requirements.txt commands = mypy {env:SAMPLE_DIR}