Pillow: Drop support for Python 3.4?

Created on 13 Jan 2019  路  5Comments  路  Source: python-pillow/Pillow

Python 3.4 reaches EOL on 2019-03-16 and is no longer supported by the core Python team.

I propose the 2019-04-01 release (or another TBD) should be major release 6.0.0 and we also bundle in some deprecation warning removals at the same time.

Thoughts, objections, additions?

If 2019-04-01 is too early, when would be a suitable time?

Question

Most helpful comment

@hugovk LGTM. As a general rule "we don't support releases not supported Python Core Team" seems reasonable. It helps, in this case, that no one is using Pillow on 3.4 (if I'm reading your stats correctly at a glance.) If there were more usage, for example, I might be inclined to try to support longer.

All 5 comments

For comparison, Python 3.3 was EOL on 2017-09-29 and was dropped on 2018-01-01 (https://github.com/python-pillow/Pillow/issues/2832) because pytest no longer supported it. We didn't drop it on 2017-10-01 as there weren't as big gains (https://github.com/python-pillow/Pillow/pull/2725) compared to 2.6/3.2.


Pip 19.0 is due out in a couple of days (https://github.com/pypa/pip/issues/6106) and deprecates support for Python 3.4 (https://github.com/pypa/pip/pull/6123). Pip 19.2 is due out in 2019-07 (https://github.com/pypa/pip/pull/5324) and will drop it.


Here's the pip installs for Pillow for the past 3 years:

image

For December 2018:

| category | percent | downloads |
|----------|--------:|----------:|
| 2.7 | 43.15% | 1,876,219 |
| 3.6 | 33.90% | 1,474,337 |
| 3.5 | 11.00% | 478,468 |
| 3.7 | 7.75% | 336,983 |
| 3.4 | 3.43% | 149,201 |
| null | 0.67% | 29,012 |
| 3.3 | 0.06% | 2,747 |
| 2.6 | 0.02% | 1,034 |
| 3.8 | 0.01% | 395 |
| 3.2 | 0.00% | 53 |
| 2.4 | 0.00% | 8 |
| Total | | 4,348,457 |

Source: pypistats python_minor --last-month pillow

By OS, and limiting to 3.4:

| python_version | system_name | percent | download_count |
| -------------- | -------------------------------- | ------: | -------------: |
| 3.4 | Linux | 2.89% | 123,593 |
| 3.4 | Windows | 0.55% | 23,443 |
| 3.4 | Darwin | 0.02% | 837 |
| 3.4 | FreeBSD | 0.00% | 4 |
| 3.4 | CYGWIN_NT-10.0 | 0.00% | 2 |
| 3.4 | SunOS | 0.00% | 2 |
| 3.4 | OS400 | 0.00% | 1 |

Source: pypinfo --start-date 2018-12-01 --end-date 2018-12-31 --percent --markdown --limit 100 pillow pyversion system | grep 3.4

@python-pillow/pillow-team: Feedback welcome!

@hugovk LGTM. As a general rule "we don't support releases not supported Python Core Team" seems reasonable. It helps, in this case, that no one is using Pillow on 3.4 (if I'm reading your stats correctly at a glance.) If there were more usage, for example, I might be inclined to try to support longer.

VERSION deprecation

Added in PR https://github.com/python-pillow/Pillow/pull/3090, released in 5.2.0 on 2018-07-01, __init__.py and Image.py say:

# VERSION is deprecated and will be removed in Pillow 6.0.0.
# PILLOW_VERSION is deprecated and will be removed after that.
# Use __version__ instead.
VERSION = '1.1.7'  # PIL Version
PILLOW_VERSION = __version__ = _version.__version__

Also in release notes:

And recently added on this new page:

6.0.0 will be out 9 months after 5.2.0.

Shall we press ahead and remove VERSION in the upcoming 6.0.0, as advertised? (PILLOW_VERSION will remain until a later release.)

Or give it some more time and postpone it to 7.0.0?

The static VERSION (1.1.7) is the least useful of the two, so I think we're fine removing it in 6.0.0. See PR https://github.com/python-pillow/Pillow/pull/3624.

Was this page helpful?
0 / 5 - 0 ratings