__ https://docs.djangoproject.com/en/2.2/intro/tutorial01/#creating-a-project
Next we require Python. If not already installed, then you should do so now.
-Patchwork supports Python 3.6+. Python 3 is installed by default, but you
+Patchwork supports Python 3.7+. Python 3 is installed by default, but you
should validate this now:
.. code-block:: shell
^^^^^^^^^^^^^^^^^^^
To develop Python-based software you first need Python. Patchwork supports
-Python 3.6+. Python 3 will be installed by default on many installations,
+Python 3.7+. Python 3 will be installed by default on many installations,
though a suitable version can usually be installed manually using the
``python3`` package.
from email.mime.text import MIMEText
from email.utils import make_msgid
import os
-import sys
-import unittest
from django.test import TestCase
from django.test import TransactionTestCase
except ValueError:
pass
- @unittest.skipUnless((3, 0) <= sys.version_info < (3, 7),
- 'Breaks only on Python 3.0 - 3.6')
- def test_early_fail(self):
- file_path = os.path.join(TEST_FUZZ_DIR, 'earlyfail.mbox')
- with self.assertRaises(AttributeError):
- load_mail(file_path)
-
def test_base64err(self):
self._test_patch('base64err.mbox')
--- /dev/null
+---
+features:
+ - |
+ `Python 3.10 <https://www.python.org/downloads/release/python-3100/>`_ is
+ now supported.
+upgrade:
+ - |
+ Python 3.6 is no longer supported. It is no longer supported upstream and
+ most distributions provide a newer version.
[tox]
minversion = 3.2
-envlist = pep8,docs,py{36,37,38,39}-django{22,32},py{38,39,310}-django{40,}
+envlist = pep8,docs,py{37,38,39}-django{22,32},py{38,39,310}-django{40}
skipsdist = true
ignore_basepython_conflict = true
PYTHONDONTWRITEBYTECODE = 1
PYTHONDEVMODE = 1
py36: PYTHONWARNINGS = once,ignore::ImportWarning:backports
- py{37,38,39}: PYTHONWARNINGS = once
+ py{37,38,39,310}: PYTHONWARNINGS = once
passenv =
http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
DATABASE_TYPE DATABASE_USER DATABASE_PASSWORD DATABASE_HOST
[gh-actions]
python =
- 3.6: py36
3.7: py37
3.8: py38
3.9: py39
+ 3.10: py39