New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
setup.py: Add metadata, including python_requires 2.7 #2764
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, apart from the minor nitipick review
"Twitter": "https://twitter.com/pygame_org", | ||
}, | ||
"classifiers": [ | ||
"Development Status :: 6 - Mature", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor nitpicky review. Maybe pygame is at developmental status 5? While pygame is fairly mature I agree, a development status 6, "Mature", indicates that a library is very mature, that there will be almost no change in the API at all, which is not the case with pygame, I imagine. Because we have stuff like _sdl2
which is still in development, and will one day become part of stable API
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure it means things won't be added. There's no definition I could find however.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On PyPI, only ~700 products have marked themselves mature, whereas ~10k+ are marked dev status 5.
Plus, I think mature implies nearly all development effort goes into maintenance, which is not the case for us.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
numpy, and pillow are similar and marked as mature
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's discuss the classifiers later. Mainly python_requires is important
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright. But can we take it out for now, since we can't agree on it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I personally never use the 'development status' classifiers, partly because I'm not sure there's any value in trying to rigidly categorise something that subjective, and partly because I know I'll forget to update them. Though the latter objection doesn't apply if you're starting at 'mature'. 😃
For python 2.7+ and 3.5+ I think it's like this: https://stackoverflow.com/questions/44660448/using-python-requires-to-require-python-2-7-or-3-2 https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires Seems to be supported in setuptools from Jul26 2016: https://setuptools.pypa.io/en/latest/history.html?highlight=python_requires#v24-2-0 |
Seems the doc here [0] says to use something like: https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires So I changed it to that. |
f7fd648
to
969ba71
Compare
|
Yes, unfortunately there's no concise syntax (as far as I know) for '2.7 or 3.5 and above'. The version restrictions are effectively AND-ed together. So you have to say '2.7 or above, but not 3.0, 3.1, 3.2, 3.4'. Obviously this gets much cleaner when you drop Python 2.7. |
@takluyver made a good point in #2326 about python_requires.
Took the opportunity to add a few more things, looking at the pillow and numpy setup.py meta data.