From 291763b0ab4c50a2be6271e5e1b0d6ee5900350c Mon Sep 17 00:00:00 2001 From: Chandan Singh Date: Fri, 24 Aug 2018 00:32:36 +0100 Subject: setup.py: Add more metadata useful for PyPI - setup.py: List useful links using `project_urls` - setup.py: Specify minumum python vresion using `python_requires` `python_requires` is the new way of specifying requirements for python version, as documented @ https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires. This will also make this requirement appear nicely on the PyPI project page. - setup.py: Add project classifiers PyPI will use these classifiers to categorize projects while searching or browsing. Full list of classifiers can be found at https://pypi.org/classifiers. --- setup.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index e388abebe..781b55bcc 100755 --- a/setup.py +++ b/setup.py @@ -25,7 +25,14 @@ import subprocess import sys import versioneer -if sys.version_info[0] != 3 or sys.version_info[1] < 5: + +################################################################## +# Python requirements +################################################################## +REQUIRED_PYTHON_MAJOR = 3 +REQUIRED_PYTHON_MINOR = 5 + +if sys.version_info[0] != REQUIRED_PYTHON_MAJOR or sys.version_info[1] < REQUIRED_PYTHON_MINOR: print("BuildStream requires Python >= 3.5") sys.exit(1) @@ -242,11 +249,28 @@ setup(name='BuildStream', author='BuildStream Developers', author_email='buildstream-list@gnome.org', + classifiers=[ + 'Environment :: Console', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)', + 'Operating System :: POSIX', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Topic :: Software Development :: Build Tools' + ], description='A framework for modelling build pipelines in YAML', license='LGPL', long_description=long_description, long_description_content_type='text/x-rst; charset=UTF-8', url='https://gitlab.com/BuildStream/buildstream', + project_urls={ + 'Documentation': 'https://buildstream.gitlab.io/buildstream/', + 'Tracker': 'https://gitlab.com/BuildStream/buildstream/issues', + 'Mailing List': 'https://mail.gnome.org/mailman/listinfo/buildstream-list' + }, + python_requires='~={}.{}'.format(REQUIRED_PYTHON_MAJOR, REQUIRED_PYTHON_MINOR), packages=find_packages(exclude=('tests', 'tests.*')), package_data={'buildstream': ['plugins/*/*.py', 'plugins/*/*.yaml', 'data/*.yaml', 'data/*.sh.in']}, -- cgit v1.2.1