[tox]
envlist =
    {py37,py38,py39}-django-22
    {py37,py38,py39}-django-3
    {py37,py38,py39}-django-31
    {py37,py38,py39,py310}-django-32
    coverage

[gh-actions]
python =
    3.7: py37
    3.8: py38
    3.9: py39
    3.10: py310

[testenv]
setenv =
    PYTHONPATH = {toxinidir}:{toxinidir}/djfractions:{toxinidir}/test_project/frac
commands =
    coverage run --source djfractions runtests.py
    mypy djfractions
deps =
    django-22: Django>=2.2,<3
    django-3: Django>=3,<3.1
    django-31: Django>=3.1,<3.2
    django-32: Django>=3.2,<3.3
    -r{toxinidir}/requirements-test.txt
basepython =
    py37: python3.7
    py38: python3.8
    py39: python3.9
    py310: python3.10
    coverage: python3.7

[testenv:coverage]
commands=
    coverage report

[tox]
envlist =
    {py37,py38,py39}-django-22
    {py37,py38,py39}-django-3
    {py37,py38,py39}-django-31
    {py37,py38,py39,py310}-django-32
    {py38,py39,py310}-django-40
    coverage

[gh-actions]
python =
    3.7: py37
    3.8: py38
    3.9: py39
    3.10: py310

[testenv]
setenv =
    PYTHONPATH = {toxinidir}:{toxinidir}/djfractions:{toxinidir}/test_project/frac
commands =
    coverage run --source djfractions runtests.py
    mypy djfractions
deps =
    django-22: Django>=2.2,<3
    django-3: Django>=3,<3.1
    django-31: Django>=3.1,<3.2
    django-32: Django>=3.2,<3.3
    django-40: Django>=4.0,<4.1
    -r{toxinidir}/requirements-test.txt
basepython =
    py37: python3.7
    py38: python3.8
    py39: python3.9
    py310: python3.10
    coverage: python3.7

[testenv:coverage]
commands=
    coverage report

Add testing of django 4.0
Add testing of django 4.0
