summaryrefslogtreecommitdiffstats
path: root/third_party/python/taskcluster/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/taskcluster/setup.py')
-rw-r--r--third_party/python/taskcluster/setup.py89
1 files changed, 89 insertions, 0 deletions
diff --git a/third_party/python/taskcluster/setup.py b/third_party/python/taskcluster/setup.py
new file mode 100644
index 0000000000..c9c7ff4a22
--- /dev/null
+++ b/third_party/python/taskcluster/setup.py
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+
+from setuptools import setup
+from setuptools.command.test import test as TestCommand
+import sys
+
+# The VERSION variable is automagically changed
+# by release.sh. Make sure you understand how
+# that script works if you want to change this
+VERSION = '6.0.0'
+
+tests_require = [
+ 'nose==1.3.7',
+ 'nose-exclude==0.5.0',
+ 'httmock==1.2.6',
+ 'rednose==1.2.1',
+ 'mock==1.0.1',
+ 'setuptools-lint==0.3',
+ 'flake8==2.5.0',
+ 'psutil==2.1.3',
+ 'hypothesis==3.6.1',
+ 'tox==2.3.2',
+ 'coverage==4.1b2',
+ 'python-dateutil==2.6.0',
+]
+
+# requests has a policy of not breaking apis between major versions
+# http://docs.python-requests.org/en/latest/community/release-process/
+install_requires = [
+ 'requests>=2.4.3,<3',
+ 'mohawk>=0.3.4,<0.4',
+ 'slugid>=1.0.7,<2',
+ 'taskcluster-urls>=10.1.0,<12',
+ 'six>=1.10.0,<2',
+]
+
+# from http://testrun.org/tox/latest/example/basic.html
+class Tox(TestCommand):
+ user_options = [('tox-args=', 'a', "Arguments to pass to tox")]
+
+ def initialize_options(self):
+ TestCommand.initialize_options(self)
+ self.tox_args = None
+
+ def finalize_options(self):
+ TestCommand.finalize_options(self)
+ self.test_args = []
+ self.test_suite = True
+
+ def run_tests(self):
+ # import here, cause outside the eggs aren't loaded
+ import tox
+ import shlex
+ args = self.tox_args
+ if args:
+ args = shlex.split(self.tox_args)
+ errno = tox.cmdline(args=args)
+ sys.exit(errno)
+
+if sys.version_info.major == 2:
+ tests_require.extend([
+ 'subprocess32==3.2.6',
+ ])
+elif sys.version_info[:2] < (3, 5):
+ raise Exception('This library does not support Python 3 versions below 3.5')
+elif sys.version_info[:2] >= (3, 5):
+ install_requires.extend([
+ 'aiohttp>=2.0.0,<4',
+ 'async_timeout>=2.0.0,<4',
+ ])
+
+if __name__ == '__main__':
+ setup(
+ name='taskcluster',
+ version=VERSION,
+ description='Python client for Taskcluster',
+ author='John Ford',
+ author_email='jhford@mozilla.com',
+ url='https://github.com/taskcluster/taskcluster-client.py',
+ packages=['taskcluster', 'taskcluster.aio'],
+ install_requires=install_requires,
+ test_suite="nose.collector",
+ tests_require=tests_require,
+ cmdclass={'test': Tox},
+ zip_safe=False,
+ classifiers=['Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6'],
+ )