From e7d1b2f4cb9c2eed09096fcdadbcd0cc600122f7 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 1 Jul 2021 12:40:25 +0300 Subject: [PATCH 1/6] Add support for Python 3.10 --- docs/installation.rst | 44 ++++++++++++++++++++++--------------------- setup.py | 3 ++- tox.ini | 2 +- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 06b1162c1b1..f024b2e4d98 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -15,27 +15,29 @@ 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 | 3.3 | 3.2 | 2.7 | 2.6 | 2.5 | 2.4 | ++======================+=====+=====+=====+=====+=====+=====+=====+=====+=====+=====+=====+=====+=====+ +| 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 | | | | ++----------------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ +| 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 ------------------ diff --git a/setup.py b/setup.py index e75d8eea404..6dc4e1b77df 100755 --- a/setup.py +++ b/setup.py @@ -39,7 +39,7 @@ def get_version(): 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 @@ def debug_build(): "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", diff --git a/tox.ini b/tox.ini index 2557d5067a8..cdc2ab88177 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,7 @@ [tox] envlist = lint - py{36,37,38,39,py3} + py{36,37,38,39,310,py3} minversion = 1.9 [testenv] From 26c5eb4bbc1d01fba923170ac0cc22b5c81d6066 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 1 Jul 2021 12:44:37 +0300 Subject: [PATCH 2/6] Add th headers to tables, newlines, fix typo --- docs/deprecations.rst | 3 +- .../writing-your-own-file-decoder.rst | 5 + docs/installation.rst | 217 +++++++++--------- 3 files changed, 116 insertions(+), 109 deletions(-) diff --git a/docs/deprecations.rst b/docs/deprecations.rst index 262ba79e0cc..9ce2fe7b329 100644 --- a/docs/deprecations.rst +++ b/docs/deprecations.rst @@ -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``). diff --git a/docs/handbook/writing-your-own-file-decoder.rst b/docs/handbook/writing-your-own-file-decoder.rst index 9b670dba89f..7eb1dc113b1 100644 --- a/docs/handbook/writing-your-own-file-decoder.rst +++ b/docs/handbook/writing-your-own-file-decoder.rst @@ -195,12 +195,15 @@ 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. | +-----------+-----------------------------------------------------------------+ | ``L`` | 8-bit greyscale. 0 means black, 255 means white. | @@ -214,9 +217,11 @@ table describes some commonly used **raw modes**: | ``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). | +-----------+-----------------------------------------------------------------+ diff --git a/docs/installation.rst b/docs/installation.rst index f024b2e4d98..455ee20b834 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -439,41 +439,41 @@ Continuous Integration Targets These platforms are built and tested for every change. -+----------------------------------+--------------------------+-----------------------+ -|**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 | -+----------------------------------+--------------------------+-----------------------+ ++----------------------------------+---------------------------+---------------------+ +| 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 @@ -486,78 +486,81 @@ 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** | -+----------------------------------+------------------------------+--------------------------------+-----------------------+ -| 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 | | | -| +------------------------------+--------------------------------+-----------------------+ -| | 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 | -+----------------------------------+------------------------------+--------------------------------+-----------------------+ ++----------------------------------+------------------------------+----------------+------------+ +| 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 | | | +| +------------------------------+----------------+------------+ +| | 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 ------------ From 95cf343df49f56487a950a91e5578f4d792427cc Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 1 Jul 2021 13:30:19 +0300 Subject: [PATCH 3/6] Split support table to fit on page --- docs/installation.rst | 50 +++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 455ee20b834..ad6bcd20b8b 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -15,29 +15,33 @@ Python Support Pillow supports these Python versions. -+----------------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ -| Python |3.10 | 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.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 | | | | -+----------------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ -| 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 ------------------ From 45d5848c30dbf3300c2e0b9138e2d7535b6ed56a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 2 Jul 2021 18:59:12 +1000 Subject: [PATCH 4/6] Use line blocks instead of blank lines --- docs/conf.py | 1 + .../writing-your-own-file-decoder.rst | 61 +++++++++---------- docs/installation.rst | 5 +- docs/resources/css/styles.css | 4 ++ 4 files changed, 35 insertions(+), 36 deletions(-) create mode 100644 docs/resources/css/styles.css diff --git a/docs/conf.py b/docs/conf.py index 9b4eb669b7c..80728196577 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -312,6 +312,7 @@ 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") diff --git a/docs/handbook/writing-your-own-file-decoder.rst b/docs/handbook/writing-your-own-file-decoder.rst index 7eb1dc113b1..5f600a66786 100644 --- a/docs/handbook/writing-your-own-file-decoder.rst +++ b/docs/handbook/writing-your-own-file-decoder.rst @@ -191,39 +191,34 @@ match PIL’s 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. | -+-----------+-----------------------------------------------------------------+ -| ``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). | -+-----------+-----------------------------------------------------------------+ ++-----------+-------------------------------------------------------------------+ +| 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. | ++-----------+-------------------------------------------------------------------+ +| ``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). | ++-----------+-------------------------------------------------------------------+ Note that for the most common cases, the raw mode is simply the same as the mode. diff --git a/docs/installation.rst b/docs/installation.rst index ad6bcd20b8b..cb40c0ca959 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -527,9 +527,8 @@ These platforms have been reported to work at the versions mentioned. +----------------------------------+------------------------------+----------------+------------+ | 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 | | +------------------------------+----------------+------------+ diff --git a/docs/resources/css/styles.css b/docs/resources/css/styles.css new file mode 100644 index 00000000000..51a5b602990 --- /dev/null +++ b/docs/resources/css/styles.css @@ -0,0 +1,4 @@ +.rst-content td .line-block { + font-size: 1rem; + margin-bottom: 0; +} From 9aab18c5e907f67d4b5b18476e742eaa1f74a05c Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 2 Jul 2021 18:59:48 +1000 Subject: [PATCH 5/6] Removed bottom gap in table headings --- docs/resources/css/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/resources/css/styles.css b/docs/resources/css/styles.css index 51a5b602990..13e9de8f6c0 100644 --- a/docs/resources/css/styles.css +++ b/docs/resources/css/styles.css @@ -1,3 +1,7 @@ +th p { + margin-bottom: 0; +} + .rst-content td .line-block { font-size: 1rem; margin-bottom: 0; From 8996b9ff9ab7a7498cd893063e68c9dac305579a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 2 Jul 2021 22:18:18 +1000 Subject: [PATCH 6/6] Used line block in table heading --- docs/installation.rst | 147 +++++++++++++++++----------------- docs/resources/css/styles.css | 2 +- 2 files changed, 74 insertions(+), 75 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index cb40c0ca959..5fe1963c97c 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -490,80 +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 | 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 | | | -| +------------------------------+----------------+------------+ -| | 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 | -+----------------------------------+------------------------------+----------------+------------+ ++----------------------------------+---------------------------+------------------+--------------+ +| 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 | | | +| +---------------------------+------------------+--------------+ +| | 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 ------------ diff --git a/docs/resources/css/styles.css b/docs/resources/css/styles.css index 13e9de8f6c0..111f84085b7 100644 --- a/docs/resources/css/styles.css +++ b/docs/resources/css/styles.css @@ -2,7 +2,7 @@ th p { margin-bottom: 0; } -.rst-content td .line-block { +.rst-content tr .line-block { font-size: 1rem; margin-bottom: 0; }