Merge branch 'master' into 4250-doc-updates
[arvados.git] / sdk / python / setup.py
1 #!/usr/bin/env python
2
3 import os
4 import subprocess
5 import time
6
7 from setuptools import setup, find_packages
8
9 SETUP_DIR = os.path.dirname(__file__)
10 README = os.path.join(SETUP_DIR, 'README.rst')
11
12 cmd_opts = {'egg_info': {}}
13 try:
14     git_tags = subprocess.check_output(
15         ['git', 'log', '--first-parent', '--max-count=1',
16          '--format=format:%ct %h', SETUP_DIR],
17         stderr=open('/dev/null','w')
18         ).split()
19     assert len(git_tags) == 2
20 except (AssertionError, OSError, subprocess.CalledProcessError):
21     pass
22 else:
23     git_tags[0] = time.strftime('%Y%m%d%H%M%S', time.gmtime(int(git_tags[0])))
24     cmd_opts['egg_info']['tag_build'] = '.{}.{}'.format(*git_tags)
25
26
27 setup(name='arvados-python-client',
28       version='0.1',
29       description='Arvados client library',
30       long_description=open(README).read(),
31       author='Arvados',
32       author_email='info@arvados.org',
33       url="https://arvados.org",
34       download_url="https://github.com/curoverse/arvados.git",
35       license='Apache 2.0',
36       packages=find_packages(),
37       scripts=[
38         'bin/arv-copy',
39         'bin/arv-get',
40         'bin/arv-keepdocker',
41         'bin/arv-ls',
42         'bin/arv-normalize',
43         'bin/arv-put',
44         'bin/arv-run',
45         'bin/arv-ws'
46         ],
47       install_requires=[
48         'python-gflags',
49         'google-api-python-client',
50         'httplib2',
51         'requests>=2.4',
52         'urllib3',
53         'ws4py'
54         ],
55       test_suite='tests',
56       tests_require=['mock>=1.0', 'PyYAML'],
57       zip_safe=False,
58       options=cmd_opts,
59       )