X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b6f73f7acffa9b2f37c78826ff6cee89987a7edc..a3da6f03cfb1bd6b36fdb1a51efeafcd7d64157e:/sdk/python/setup.py diff --git a/sdk/python/setup.py b/sdk/python/setup.py index 754d89bdad..1adc19f997 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -1,35 +1,34 @@ #!/usr/bin/env python +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 import os -import subprocess -import time +import sys +import setuptools.command.egg_info as egg_info_cmd from setuptools import setup, find_packages -from setuptools.command.egg_info import egg_info -SETUP_DIR = os.path.dirname(__file__) +SETUP_DIR = os.path.dirname(__file__) or '.' README = os.path.join(SETUP_DIR, 'README.rst') -class TagBuildWithCommit(egg_info): - """Tag the build with the sha1 and date of the last git commit. - - If a build tag has already been set (e.g., "egg_info -b", building - from source package), leave it alone. - """ - def tags(self): - if self.tag_build is None: - git_tags = subprocess.check_output( - ['git', 'log', '--first-parent', '--max-count=1', - '--format=format:%ct %h', SETUP_DIR]).split() - assert len(git_tags) == 2 - git_tags[0] = time.strftime( - '%Y%m%d%H%M%S', time.gmtime(int(git_tags[0]))) - self.tag_build = '.{}+{}'.format(*git_tags) - return egg_info.tags(self) +tagger = egg_info_cmd.egg_info +version = os.environ.get("ARVADOS_BUILDING_VERSION") +if not version: + try: + import arvados_version + vtag = arvados_version.VersionInfoFromGit() + version = vtag.git_latest_tag() + vtag.git_timestamp_tag() + except ImportError: + pass +short_tests_only = False +if '--short-tests-only' in sys.argv: + short_tests_only = True + sys.argv.remove('--short-tests-only') setup(name='arvados-python-client', - version='0.1', + version=version, description='Arvados client library', long_description=open(README).read(), author='Arvados', @@ -39,25 +38,31 @@ setup(name='arvados-python-client', license='Apache 2.0', packages=find_packages(), scripts=[ - 'bin/arv-copy', - 'bin/arv-get', - 'bin/arv-keepdocker', - 'bin/arv-ls', - 'bin/arv-normalize', - 'bin/arv-put', - 'bin/arv-run', - 'bin/arv-ws' - ], + 'bin/arv-copy', + 'bin/arv-get', + 'bin/arv-keepdocker', + 'bin/arv-ls', + 'bin/arv-migrate-docker19', + 'bin/arv-normalize', + 'bin/arv-put', + 'bin/arv-run', + 'bin/arv-ws' + ], + data_files=[ + ('share/doc/arvados-python-client', ['LICENSE-2.0.txt', 'README.rst']), + ], install_requires=[ - 'python-gflags', - 'google-api-python-client', - 'httplib2', - 'requests>=2.4', - 'urllib3', - 'ws4py' - ], + 'ciso8601 >=1.0.0, <=1.0.4', + 'future', + 'google-api-python-client >=1.6.2, <1.7', + 'httplib2 >=0.9.2', + 'pycurl >=7.19.5.1', + 'ruamel.yaml >=0.13.7', + 'setuptools', + 'ws4py <0.4', + ], test_suite='tests', - tests_require=['mock>=1.0', 'PyYAML'], + tests_require=['pbr<1.7.0', 'mock>=1.0', 'PyYAML'], zip_safe=False, - cmdclass={'egg_info': TagBuildWithCommit}, + cmdclass={'egg_info': tagger}, )