summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChandan Singh <csingh43@bloomberg.net>2018-08-24 00:32:36 +0100
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2018-08-29 21:23:21 +0900
commit291763b0ab4c50a2be6271e5e1b0d6ee5900350c (patch)
treeb7c31e621053a020f9178fc7842b36452881c36b
parent7da1c309913d7d6cf27e0f6ad57b8a17a47237c4 (diff)
downloadbuildstream-291763b0ab4c50a2be6271e5e1b0d6ee5900350c.tar.gz
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.
-rwxr-xr-xsetup.py26
1 files changed, 25 insertions, 1 deletions
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']},