<NME> tox.ini
<BEF> [tox]
envlist=flake8,py36,py37,py38,py39,pypy3,docs,coverage
skip_missing_interpreters=True

[gh-actions]
python =
    3.6: py36
    3.7: py37
    3.8: py38
    3.9: py39
    3.10: py310
    pypy-3: pypy3


[testenv]
commands=
    coverage run --branch --include=flask_httpauth.py setup.py test
    coverage report --show-missing
    coverage xml -o coverage.xml
    coverage erase
deps=
    coverage

[testenv:flake8]
deps=
    flake8
commands=
    flake8 --exclude=".*" --ignore=E402 flask_httpauth.py tests examples

[testenv:docs]
changedir=docs
deps=
    sphinx
whitelist_externals=
    make
commands=
    make html

<MSG> improved project structure #nolog

<DFF> @@ -1,5 +1,5 @@
 [tox]
-envlist=flake8,py36,py37,py38,py39,pypy3,docs,coverage
+envlist=flake8,py36,py37,py38,py39,pypy3,docs
 skip_missing_interpreters=True
 
 [gh-actions]
@@ -14,18 +14,17 @@ python =
 
 [testenv]
 commands=
-    coverage run --branch --include=flask_httpauth.py setup.py test
-    coverage report --show-missing
-    coverage xml -o coverage.xml
-    coverage erase
+    pip install -e .
+    pytest -p no:logging --cov=src --cov-branch --cov-report=term-missing
 deps=
-    coverage
+    pytest
+    pytest-cov
 
 [testenv:flake8]
 deps=
     flake8
 commands=
-    flake8 --exclude=".*" --ignore=E402 flask_httpauth.py tests examples
+    flake8 --exclude=".*" --ignore=E402 src/flask_httpauth.py tests examples
 
 [testenv:docs]
 changedir=docs

improved project structure #nolog