Skip to content

Commit

Permalink
Merge pull request #4746 from hugovk/rm-soon-eol-3.5
Browse files Browse the repository at this point in the history
Drop support for EOL Python 3.5
  • Loading branch information
radarhere authored Jul 14, 2020
2 parents 71f8ec6 + e168bd1 commit 1f65295
Show file tree
Hide file tree
Showing 12 changed files with 39 additions and 56 deletions.
2 changes: 1 addition & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ environment:
matrix:
- PYTHON: C:/Python38
ARCHITECTURE: x86
- PYTHON: C:/Python35-x64
- PYTHON: C:/Python36-x64
ARCHITECTURE: x64


Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.5", "3.6", "3.7", "3.8", "pypy3"]
python-version: ["3.6", "3.7", "3.8", "pypy3"]
architecture: ["x86", "x64"]
include:
- architecture: "x86"
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,12 @@ jobs:
"3.8",
"3.7",
"3.6",
"3.5",
]
include:
- python-version: "3.5"
env: PYTHONOPTIMIZE=2
- python-version: "3.6"
env: PYTHONOPTIMIZE=1
- python-version: "3.7"
env: PYTHONOPTIMIZE=2
# Include new variables for Codecov
- os: ubuntu-latest
codecov-flag: GHA_Ubuntu
Expand Down
9 changes: 3 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ matrix:
arch: arm64
- python: "3.7"
arch: ppc64le
- python: "3.5"
- python: "3.8"
arch: s390x

- python: "pypy3"
Expand All @@ -35,16 +35,13 @@ matrix:
name: "3.8 Xenial"
services: xvfb
- python: '3.7'
name: "3.7 Xenial"
name: "3.7 Xenial PYTHONOPTIMIZE=2"
env: PYTHONOPTIMIZE=2
services: xvfb
- python: '3.6'
name: "3.6 Xenial PYTHONOPTIMIZE=1"
env: PYTHONOPTIMIZE=1
services: xvfb
- python: '3.5'
name: "3.5 Xenial PYTHONOPTIMIZE=2"
env: PYTHONOPTIMIZE=2
services: xvfb

allow_failures:
- python: "3.9-dev"
Expand Down
46 changes: 24 additions & 22 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,25 +16,27 @@ Notes
.. note:: Pillow is supported on the following Python versions


+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|**Python** |**3.8**|**3.7**|**3.6**|**3.5**|**3.4**|**3.3**|**3.2**|**2.7**|**2.6**|**2.5**|**2.4**|
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow >= 7 | Yes | Yes | Yes | Yes | | | | | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 6.2.1 - 6.2.2| Yes | Yes | Yes | Yes | | | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 6.0 - 6.2.0 | | Yes | Yes | Yes | | | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 5.2 - 5.4 | | Yes | Yes | Yes | Yes | | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 5.0 - 5.1 | | | Yes | Yes | Yes | | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 4 | | | Yes | Yes | Yes | Yes | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 2 - 3 | | | | Yes | Yes | Yes | Yes | Yes | Yes | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow < 2 | | | | | | | | Yes | Yes | Yes | Yes |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| **Python** |**3.9**|**3.8**|**3.7**|**3.6**|**3.5**|**3.4**|**3.3**|**3.2**|**2.7**|**2.6**|**2.5**|**2.4**|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow >= 8.0 | Yes | Yes | Yes | Yes | | | | | | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 7.0 - 7.2 | | Yes | Yes | Yes | Yes | | | | | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 6.2.1 - 6.2.2 | | Yes | Yes | Yes | Yes | | | | Yes | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 6.0 - 6.2.0 | | | Yes | Yes | Yes | | | | Yes | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 5.2 - 5.4 | | | Yes | Yes | Yes | Yes | | | Yes | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 5.0 - 5.1 | | | | Yes | Yes | Yes | | | Yes | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 4 | | | | Yes | Yes | Yes | Yes | | Yes | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 2 - 3 | | | | | Yes | Yes | Yes | Yes | Yes | Yes | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow < 2 | | | | | | | | | Yes | Yes | Yes | Yes |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+

Basic Installation
------------------
Expand Down Expand Up @@ -401,7 +403,7 @@ These platforms are built and tested for every change.
+----------------------------------+--------------------------+-----------------------+
| Fedora 32 | 3.8 |x86-64 |
+----------------------------------+--------------------------+-----------------------+
| macOS 10.15 Catalina | 3.5, 3.6, 3.7, 3.8, PyPy3|x86-64 |
| macOS 10.15 Catalina | 3.6, 3.7, 3.8, PyPy3 |x86-64 |
+----------------------------------+--------------------------+-----------------------+
| Ubuntu Linux 16.04 LTS | 3.5, 3.6, 3.7, 3.8, PyPy3|x86-64 |
+----------------------------------+--------------------------+-----------------------+
Expand All @@ -411,11 +413,11 @@ These platforms are built and tested for every change.
+----------------------------------+--------------------------+-----------------------+
| Windows Server 2016 | 3.8 |x86 |
| +--------------------------+-----------------------+
| | 3.5 |x86-64 |
| | 3.6 |x86-64 |
| +--------------------------+-----------------------+
| | 3.7/MinGW |x86 |
+----------------------------------+--------------------------+-----------------------+
| Windows Server 2019 | 3.5, 3.6, 3.7, 3.8 |x86, x86-64 |
| Windows Server 2019 | 3.6, 3.7, 3.8 |x86, x86-64 |
| +--------------------------+-----------------------+
| | PyPy3 |x86 |
+----------------------------------+--------------------------+-----------------------+
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Development, documentation & testing requirements.
black; python_version >= '3.6'
black
check-manifest
coverage
jarn.viewdoc
Expand Down
3 changes: 1 addition & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -880,7 +880,6 @@ def debug_build():
"Development Status :: 6 - Mature",
"License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)", # noqa: E501
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
Expand All @@ -893,7 +892,7 @@ def debug_build():
"Topic :: Multimedia :: Graphics :: Graphics Conversion",
"Topic :: Multimedia :: Graphics :: Viewers",
],
python_requires=">=3.5",
python_requires=">=3.6",
cmdclass={"build_ext": pil_build_ext},
ext_modules=[Extension("PIL._imaging", ["_imaging.c"])],
include_package_data=True,
Expand Down
9 changes: 1 addition & 8 deletions src/PIL/_tkinter_finder.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,6 @@
from tkinter import _tkinter as tk

if hasattr(sys, "pypy_find_executable"):
# Tested with packages at https://bitbucket.org/pypy/pypy/downloads.
# PyPies 1.6, 2.0 do not have tkinter built in. PyPy3-2.3.1 gives an
# OSError trying to import tkinter. Otherwise:
try: # PyPy 5.1, 4.0.0, 2.6.1, 2.6.0
TKINTER_LIB = tk.tklib_cffi.__file__
except AttributeError:
# PyPy3 2.4, 2.1-beta1; PyPy 2.5.1, 2.5.0, 2.4.0, 2.3, 2.2, 2.1
TKINTER_LIB = tk.tkffi.verifier.modulefilename
TKINTER_LIB = tk.tklib_cffi.__file__
else:
TKINTER_LIB = tk.__file__
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[tox]
envlist =
lint
py{35,36,37,38,py3}
py{36,37,38,py3}
minversion = 1.9

[testenv]
Expand Down
5 changes: 2 additions & 3 deletions winbuild/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,17 @@ For more extensive info, see the [Windows build instructions](build.rst).
* See [Current Windows Build/Testing process (Pillow#553)](/~https://github.com/python-pillow/Pillow/issues/553#issuecomment-37877416),
[Definitive docs for how to compile on Windows (matplotlib#1717)](/~https://github.com/matplotlib/matplotlib/issues/1717#issuecomment-13343859),
[Test Windows with GitHub Actions (Pillow#4084)](/~https://github.com/python-pillow/Pillow/pull/4084).


* Requires Microsoft Visual Studio 2017 or newer with C++ component.
* Requires NASM for libjpeg-turbo, a required dependency when using this script.
* Requires CMake 3.12 or newer (available as Visual Studio component).
* Python 3.6+ is required to generate valid scripts, but builds targeting Python 3.5+ are supported.
* Tested on Windows Server 2016 with Visual Studio 2017 Community (AppVeyor).
* Tested on Windows Server 2019 with Visual Studio 2019 Enterprise (GitHub Actions).

The following is a simplified version of the script used on AppVeyor:
```
set PYTHON=C:\Python35\bin
set PYTHON=C:\Python38\bin
cd /D C:\Pillow\winbuild
C:\Python37\bin\python.exe build_prepare.py -v --depends=C:\pillow-depends
build\build_dep_all.cmd
Expand Down
8 changes: 1 addition & 7 deletions winbuild/build.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,6 @@ Prerequisites
-------------


Python
^^^^^^

While the scripts can target any version of Python supported by Pillow,
Python 3.6+ is required to generate valid build scripts.

Compilers
^^^^^^^^^

Expand Down Expand Up @@ -104,7 +98,7 @@ The following is a simplified version of the script used on AppVeyor:

.. code-block::
set PYTHON=C:\Python35\bin
set PYTHON=C:\Python38\bin
cd /D C:\Pillow\winbuild
C:\Python37\bin\python.exe build_prepare.py -v --depends=C:\pillow-depends
build\build_dep_all.cmd
Expand Down
2 changes: 1 addition & 1 deletion winbuild/build_prepare.py
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ def build_pillow():
cmd_cd("{pillow_dir}"),
*prefs["header"],
cmd_set("DISTUTILS_USE_SDK", "1"), # use same compiler to build Pillow
cmd_set("MSSdk", "1"), # for Python 3.5 and PyPy3.6
cmd_set("MSSdk", "1"), # for PyPy3.6
cmd_set("py_vcruntime_redist", "true"), # use /MD, not /MT
r'"{python_dir}\{python_exe}" setup.py build_ext %*',
]
Expand Down

0 comments on commit 1f65295

Please sign in to comment.