Drop support for Python 3.6.0

It has some subtle typing differences compared to 3.6.1, see e.g.
https://docs.python.org/3/library/typing.html#typing.NamedTuple

Also, we can't easily test it, it's unlikely to be in use anywhere
anyways, and various dependencies already dropped support for it or are
going to (e.g. PyQt 6).

See #4800
This commit is contained in:
Florian Bruhin 2021-01-08 10:53:25 +01:00
parent 99017c50ac
commit ccdfb44b85
6 changed files with 8 additions and 8 deletions

View File

@ -50,7 +50,7 @@ ignore =
A003, A003,
W503, W504 W503, W504
FI15 FI15
min-version = 3.6.0 min-version = 3.6.1
max-complexity = 12 max-complexity = 12
per-file-ignores = per-file-ignores =
qutebrowser/api/hook.py : N801 qutebrowser/api/hook.py : N801

View File

@ -74,7 +74,7 @@ Requirements
The following software and libraries are required to run qutebrowser: The following software and libraries are required to run qutebrowser:
* https://www.python.org/[Python] 3.6 or newer * https://www.python.org/[Python] 3.6.1 or newer
* https://www.qt.io/[Qt] 5.12.0 or newer (5.12 LTS or 5.15 recommended) * https://www.qt.io/[Qt] 5.12.0 or newer (5.12 LTS or 5.15 recommended)
with the following modules: with the following modules:
- QtCore / qtbase - QtCore / qtbase

View File

@ -21,8 +21,8 @@ v2.0.0 (unreleased)
Major changes Major changes
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
- At least Python 3.6 is now required to run qutebrowser, support for Python - At least Python 3.6.1 is now required to run qutebrowser, support for Python
3.5 is dropped. Note that Python 3.5 is 3.5 (and 3.6.0) is dropped. Note that Python 3.5 is
https://www.python.org/downloads/release/python-3510/[no longer supported https://www.python.org/downloads/release/python-3510/[no longer supported
upstream] since September 2020. upstream] since September 2020.
- At least Qt/PyQt 5.12 is now required to run qutebrowser, support for 5.7 to - At least Qt/PyQt 5.12 is now required to run qutebrowser, support for 5.7 to

View File

@ -43,11 +43,11 @@ except ImportError: # pragma: no cover
# to stderr. # to stderr.
def check_python_version(): def check_python_version():
"""Check if correct python version is run.""" """Check if correct python version is run."""
if sys.hexversion < 0x03060000: if sys.hexversion < 0x03060100:
# We don't use .format() and print_function here just in case someone # We don't use .format() and print_function here just in case someone
# still has < 2.6 installed. # still has < 2.6 installed.
version_str = '.'.join(map(str, sys.version_info[:3])) version_str = '.'.join(map(str, sys.version_info[:3]))
text = ("At least Python 3.6 is required to run qutebrowser, but " + text = ("At least Python 3.6.1 is required to run qutebrowser, but " +
"it's running with " + version_str + ".\n") "it's running with " + version_str + ".\n")
if (Tk and # type: ignore[unreachable] if (Tk and # type: ignore[unreachable]
'--no-err-windows' not in sys.argv): # pragma: no cover '--no-err-windows' not in sys.argv): # pragma: no cover

View File

@ -19,7 +19,7 @@
"""Things which need to be done really early (e.g. before importing Qt). """Things which need to be done really early (e.g. before importing Qt).
At this point we can be sure we have all python 3.6 features available. At this point we can be sure we have all python 3.6.1 features available.
""" """
try: try:

View File

@ -325,7 +325,7 @@ def test_launching_with_old_python(python):
except FileNotFoundError: except FileNotFoundError:
pytest.skip(f"{python} not found") pytest.skip(f"{python} not found")
assert proc.returncode == 1 assert proc.returncode == 1
error = "At least Python 3.6 is required to run qutebrowser" error = "At least Python 3.6.1 is required to run qutebrowser"
assert proc.stderr.decode('ascii').startswith(error) assert proc.stderr.decode('ascii').startswith(error)