[Distutils] Package classifiers - both major and minor Python versions?

Brett Cannon brett at python.org
Thu Jan 21 12:53:32 EST 2016

On Thu, 21 Jan 2016 at 06:48 John Whitlock <John-Whitlock at ieee.org> wrote:

> A discussion about the Python language classifiers came up in a pull
> request [1], and I couldn't find a definite answer. The question is -
> should a packager specify the major Python versions, minor Python versions,
> or both?
> The Python Packaging User Guide's example [2] has both:
>   # Specify the Python versions you support here. In particular, ensure
>   # that you indicate whether you support Python 2, Python 3 or both.
>   'Programming Language :: Python :: 2',
>   'Programming Language :: Python :: 2.6',
>   'Programming Language :: Python :: 2.7',
>   'Programming Language :: Python :: 3',
>   'Programming Language :: Python :: 3.2',
>   'Programming Language :: Python :: 3.3',
>   'Programming Language :: Python :: 3.4',
> In the example, 'Programming Language :: Python :: 2' is a major version,
> and 'Programming Language :: Python :: 2.7' is a minor version.
> pyroma [3], which I use as a packaging linter, has insisted on both the
> major and minor versions since the first release in 2011 [4].
> These were added in 2008, but the announcement on this mailing list didn't
> include guidance on usage [5].  I can't find any guidance in PEPs either.

You should at least do the major versions, and if you are up for
maintaining them, then do the minor ones as well.

You want the major ones to tell people whether you even support Python 3 or
not. Various tools like caniusepython3 rely on at least the major version
classifier existing to programmatically know about Python 3 support.

Minor support is good to let people know what versions you have tested
against and officially support. This is especially useful right after a new
version of Python is released as it lets people know whether you have
tested against the new release yet or not. It also lets people know if you
have dropped support for an older version of Python.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20160121/aa8172f5/attachment.html>

More information about the Distutils-SIG mailing list