After the Django 3 upgrade, we want to make sure that we remove old environment setup from CI and tox files and identify utilize any new Django features that we should be using.
Remove any versions of Python earlier than 3.7 from
tox.ini
and GitHub Actions workflows (there are scripts in https://github.com/edx/repo-tools/tree/master/edx_repo_tools/codemods/django3 that can do this automatically in most cases)Upgrade any packages that were being held back only because of missing support for one of the removed Python versions
Remove test configurations for Django 3.0, 3.1 from both
tox.ini
and the GitHub Actions CI workflow.Update the Trove classifiers in any
setup.py
,setup.cfg
, orpyproject.toml
files to reflect the Python and Django versions currently being testedInstall pyupgrade-directories package and run
pyup-dirs --py37-plus --recursive .
in the repo root folder to clean up code that was only present to support older Python versions.Install Django-Codemod and run
djcodemod run --removed-in 3.0 --removed-in 3.1 --removed-in 4.0 .
to fix deprecations related to Django 3.1, Django 3.2Fix any remaining warnings related to
Removed in Django4.0
that occur while running tests on Django3.2For packages already on PyPI, go ahead and make a new release so the Trove classifiers are updated there also. This should be a major version bump if support for older Python releases was dropped.