Merge pull request #5570 from hugovk/add-3.10

3.10:  Add Trove classifier and to tox.ini, update setup.py version check and Python support table
This commit is contained in:
Andrew Murray 2021-07-02 23:43:12 +10:00 committed by GitHub
commit 94ecb27903
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 176 additions and 160 deletions

View File

@ -312,6 +312,7 @@ texinfo_documents = [
def setup(app):
app.add_js_file("js/script.js")
app.add_css_file("css/styles.css")
app.add_css_file("css/dark.css")
app.add_css_file("css/light.css")

View File

@ -135,7 +135,6 @@ Some attributes in :py:class:`PIL.ImageCms.CmsProfile` have been removed. From 6
they issued a ``DeprecationWarning``:
======================== ===================================================
Removed Use instead
======================== ===================================================
``color_space`` Padded :py:attr:`~.CmsProfile.xcolor_space`
@ -261,7 +260,7 @@ PIL.OleFileIO
.. deprecated:: 4.0.0
.. versionremoved:: 6.0.0
PIL.OleFileIO was removed as a vendored file and in Pillow 4.0.0 (2017-01) in favour of
PIL.OleFileIO was removed as a vendored file in Pillow 4.0.0 (2017-01) in favour of
the upstream olefile Python package, and replaced with an ``ImportError`` in 5.0.0
(2018-01). The deprecated file has now been removed from Pillow. If needed, install from
PyPI (eg. ``python3 -m pip install olefile``).

View File

@ -191,34 +191,34 @@ match PILs internal pixel layout. PIL supports a large set of raw modes; for
complete list, see the table in the :file:`Unpack.c` module. The following
table describes some commonly used **raw modes**:
+-----------+-----------------------------------------------------------------+
+-----------+-------------------------------------------------------------------+
| mode | description |
+===========+=================================================================+
| ``1`` | 1-bit bilevel, stored with the leftmost pixel in the most |
| | significant bit. 0 means black, 1 means white. |
+-----------+-----------------------------------------------------------------+
| ``1;I`` | 1-bit inverted bilevel, stored with the leftmost pixel in the |
| | most significant bit. 0 means white, 1 means black. |
+-----------+-----------------------------------------------------------------+
| ``1;R`` | 1-bit reversed bilevel, stored with the leftmost pixel in the |
| | least significant bit. 0 means black, 1 means white. |
+-----------+-----------------------------------------------------------------+
+===========+===================================================================+
| ``1`` | | 1-bit bilevel, stored with the leftmost pixel in the most |
| | | significant bit. 0 means black, 1 means white. |
+-----------+-------------------------------------------------------------------+
| ``1;I`` | | 1-bit inverted bilevel, stored with the leftmost pixel in the |
| | | most significant bit. 0 means white, 1 means black. |
+-----------+-------------------------------------------------------------------+
| ``1;R`` | | 1-bit reversed bilevel, stored with the leftmost pixel in the |
| | | least significant bit. 0 means black, 1 means white. |
+-----------+-------------------------------------------------------------------+
| ``L`` | 8-bit greyscale. 0 means black, 255 means white. |
+-----------+-----------------------------------------------------------------+
+-----------+-------------------------------------------------------------------+
| ``L;I`` | 8-bit inverted greyscale. 0 means white, 255 means black. |
+-----------+-----------------------------------------------------------------+
+-----------+-------------------------------------------------------------------+
| ``P`` | 8-bit palette-mapped image. |
+-----------+-----------------------------------------------------------------+
+-----------+-------------------------------------------------------------------+
| ``RGB`` | 24-bit true colour, stored as (red, green, blue). |
+-----------+-----------------------------------------------------------------+
+-----------+-------------------------------------------------------------------+
| ``BGR`` | 24-bit true colour, stored as (blue, green, red). |
+-----------+-----------------------------------------------------------------+
| ``RGBX`` | 24-bit true colour, stored as (red, green, blue, pad). The pad |
| | pixels may vary. |
+-----------+-----------------------------------------------------------------+
| ``RGB;L`` | 24-bit true colour, line interleaved (first all red pixels, then|
| | all green pixels, finally all blue pixels). |
+-----------+-----------------------------------------------------------------+
+-----------+-------------------------------------------------------------------+
| ``RGBX`` | | 24-bit true colour, stored as (red, green, blue, pad). The pad |
| | | pixels may vary. |
+-----------+-------------------------------------------------------------------+
| ``RGB;L`` | | 24-bit true colour, line interleaved (first all red pixels, then|
| | | all green pixels, finally all blue pixels). |
+-----------+-------------------------------------------------------------------+
Note that for the most common cases, the raw mode is simply the same as the mode.

View File

@ -15,27 +15,33 @@ Python Support
Pillow supports these Python versions.
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| **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 |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
+----------------------+-----+-----+-----+-----+-----+-----+-----+-----+
| Python |3.10 | 3.9 | 3.8 | 3.7 | 3.6 | 3.5 | 3.4 | 2.7 |
+======================+=====+=====+=====+=====+=====+=====+=====+=====+
| Pillow >= 8.3 | Yes | Yes | Yes | Yes | Yes | | | |
+----------------------+-----+-----+-----+-----+-----+-----+-----+-----+
| Pillow 8.0 - 8.2 | | 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 |
+----------------------+-----+-----+-----+-----+-----+-----+-----+-----+
+------------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| Python | 3.6 | 3.5 | 3.4 | 3.3 | 3.2 | 2.7 | 2.6 | 2.5 | 2.4 |
+==================+=====+=====+=====+=====+=====+=====+=====+=====+=====+
| 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
------------------
@ -437,41 +443,41 @@ Continuous Integration Targets
These platforms are built and tested for every change.
+----------------------------------+--------------------------+-----------------------+
|**Operating system** |**Tested Python versions**|**Tested architecture**|
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Operating system | Tested Python versions | Tested architecture |
+==================================+===========================+=====================+
| Alpine | 3.8 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Arch | 3.8 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Amazon Linux 2 | 3.7 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| CentOS 7 | 3.6 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| CentOS 8 | 3.6 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Debian 10 Buster | 3.7 | x86 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Fedora 33 | 3.9 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Fedora 34 | 3.9 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| macOS 10.15 Catalina | 3.6, 3.7, 3.8, 3.9, PyPy3 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Ubuntu Linux 16.04 LTS (Xenial) | 3.6, 3.7, 3.8, 3.9, PyPy3 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Ubuntu Linux 18.04 LTS (Bionic) | 3.6, 3.7, 3.8, 3.9, PyPy3 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Ubuntu Linux 20.04 LTS (Focal) | 3.8 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Windows Server 2016 | 3.6 | x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
| Windows Server 2019 | 3.6, 3.7, 3.8, 3.9 | x86, x86-64 |
| +--------------------------+-----------------------+
| +---------------------------+---------------------+
| | PyPy3 | x86 |
| +--------------------------+-----------------------+
| +---------------------------+---------------------+
| | 3.8/MinGW | x86, x86-64 |
+----------------------------------+--------------------------+-----------------------+
+----------------------------------+---------------------------+---------------------+
Other Platforms
@ -484,78 +490,79 @@ These platforms have been reported to work at the versions mentioned.
Contributors please test Pillow on your platform then update this
document and send a pull request.
+----------------------------------+------------------------------+--------------------------------+-----------------------+
|**Operating system** |**Tested Python versions** |**Latest tested Pillow version**|**Tested processors** |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Operating system | | Tested Python | | Latest tested | | Tested |
| | | versions | | Pillow version | | processors |
+==================================+===========================+==================+==============+
| macOS 11.0 Big Sur | 3.7, 3.8, 3.9 | 8.2.0 |arm |
| +------------------------------+--------------------------------+-----------------------+
| +---------------------------+------------------+--------------+
| | 3.6, 3.7, 3.8, 3.9 | 8.2.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| macOS 10.15 Catalina | 3.6, 3.7, 3.8, 3.9 | 8.0.1 |x86-64 |
| +------------------------------+--------------------------------+ |
| +---------------------------+------------------+ |
| | 3.5 | 7.2.0 | |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| macOS 10.14 Mojave | 3.5, 3.6, 3.7, 3.8 | 7.2.0 |x86-64 |
| +------------------------------+--------------------------------+ |
| +---------------------------+------------------+ |
| | 2.7 | 6.0.0 | |
| +------------------------------+--------------------------------+ |
| +---------------------------+------------------+ |
| | 3.4 | 5.4.1 | |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| macOS 10.13 High Sierra | 2.7, 3.4, 3.5, 3.6 | 4.2.1 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| macOS 10.12 Sierra | 2.7, 3.4, 3.5, 3.6 | 4.1.1 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Mac OS X 10.11 El Capitan | 2.7, 3.4, 3.5, 3.6, 3.7 | 5.4.1 |x86-64 |
| +------------------------------+--------------------------------+ |
| +---------------------------+------------------+ |
| | 3.3 | 4.1.0 | |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Mac OS X 10.9 Mavericks | 2.7, 3.2, 3.3, 3.4 | 3.0.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Mac OS X 10.8 Mountain Lion | 2.6, 2.7, 3.2, 3.3 | |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Redhat Linux 6 | 2.6 | |x86 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| CentOS 6.3 | 2.7, 3.3 | |x86 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Fedora 23 | 2.7, 3.4 | 3.1.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Ubuntu Linux 12.04 LTS (Precise) | 2.6, 3.2, 3.3, 3.4, 3.5 | 3.4.1 |x86,x86-64 |
| | PyPy5.3.1, PyPy3 v2.4.0 | | |
| +------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Ubuntu Linux 12.04 LTS (Precise) | | 2.6, 3.2, 3.3, 3.4, 3.5 | 3.4.1 |x86,x86-64 |
| | | PyPy5.3.1, PyPy3 v2.4.0 | | |
| +---------------------------+------------------+--------------+
| | 2.7 | 4.3.0 |x86-64 |
| +------------------------------+--------------------------------+-----------------------+
| +---------------------------+------------------+--------------+
| | 2.7, 3.2 | 3.4.1 |ppc |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Ubuntu Linux 10.04 LTS (Lucid) | 2.6 | 2.3.0 |x86,x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Debian 8.2 Jessie | 2.7, 3.4 | 3.1.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Raspbian Jessie | 2.7, 3.4 | 3.1.0 |arm |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Raspbian Stretch | 2.7, 3.5 | 4.0.0 |arm |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Raspberry Pi OS | 3.6, 3.7, 3.8, 3.9 | 8.2.0 |arm |
| +------------------------------+--------------------------------+ |
| +---------------------------+------------------+ |
| | 2.7 | 6.2.2 | |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Gentoo Linux | 2.7, 3.2 | 2.1.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| FreeBSD 11.1 | 2.7, 3.4, 3.5, 3.6 | 4.3.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| FreeBSD 10.3 | 2.7, 3.4, 3.5 | 4.2.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| FreeBSD 10.2 | 2.7, 3.4 | 3.1.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Windows 10 | 3.7 | 7.1.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Windows 8.1 Pro | 2.6, 2.7, 3.2, 3.3, 3.4 | 2.4.0 |x86,x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Windows 8 Pro | 2.6, 2.7, 3.2, 3.3, 3.4a3 | 2.2.0 |x86,x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Windows 7 Professional | 3.7 | 7.0.0 |x86,x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
| Windows Server 2008 R2 Enterprise| 3.3 | |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+---------------------------+------------------+--------------+
Old Versions
------------

View File

@ -0,0 +1,8 @@
th p {
margin-bottom: 0;
}
.rst-content tr .line-block {
font-size: 1rem;
margin-bottom: 0;
}

View File

@ -39,7 +39,7 @@ TIFF_ROOT = None
ZLIB_ROOT = None
FUZZING_BUILD = "LIB_FUZZING_ENGINE" in os.environ
if sys.platform == "win32" and sys.version_info >= (3, 10):
if sys.platform == "win32" and sys.version_info >= (3, 11):
import atexit
atexit.register(
@ -1002,6 +1002,7 @@ try:
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",

View File

@ -6,7 +6,7 @@
[tox]
envlist =
lint
py{36,37,38,39,py3}
py{36,37,38,39,310,py3}
minversion = 1.9
[testenv]