Daniel
Daniel

Reputation: 4745

Python package classification and Python version

My module requires Python 3.2 or newer.

Should I only set the Programming Language :: Python :: 3.2 classification? Or should I set other versions (3.3 and 3.4 at the moment, more to follow) in addition to 3.2? It works in the newer versions.

How are the classification system supposed to be used? The categories are very ambiguous and lack definitions.

Upvotes: 2

Views: 151

Answers (2)

Corey Goldberg
Corey Goldberg

Reputation: 60644

Should I only set the Programming Language :: Python :: 3.2 classification?

no. If it supports newer, specify those versions, or don't specify point versions at all. (however, do specify major versions. 2/3)

I think you should "support" whichever versions you actively have under test. so I put in whichever point versions I have under test in my tox.ini.

Upvotes: 1

Martijn Pieters
Martijn Pieters

Reputation: 1124748

I usually do not bother with point-release tags. Trove tags are there to assist with searching, but for a project that supports Python 3.x releases going back 4 and a half years, you just use the Programming Language :: Python :: 3, perhaps with Programming Language :: Python :: 3 :: Only added.

I would use the point releases if the package explicitly does not support higher versions; if you don't support 3.4 or up, you could indicate so by tagging with 3.2 and 3.3, for example.

If you do want to use point release tags anyway, then list all point releases you do support. You'll have to update for 3.5 if in future you start supporting that release. This is what the requests library does; they list all point releases that the library officially supports.

Upvotes: 1

Related Questions