X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2c094e28cc4f19df4f6d0bc81355e7fc19e8c493..196cb2e84834de79f25414de09a8d00bbe1a5eae:/sdk/python/setup.py diff --git a/sdk/python/setup.py b/sdk/python/setup.py index 5387b0232a..a19b876fd3 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -1,19 +1,38 @@ #!/usr/bin/env python +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 import os import sys -import setuptools.command.egg_info as egg_info_cmd +import re from setuptools import setup, find_packages SETUP_DIR = os.path.dirname(__file__) or '.' README = os.path.join(SETUP_DIR, 'README.rst') -try: - import gittaggers - tagger = gittaggers.EggInfoFromGit -except ImportError: - tagger = egg_info_cmd.egg_info +env_version = os.environ.get("ARVADOS_BUILDING_VERSION") + +def save_version(module, v): + with open(os.path.join(SETUP_DIR, module, "_version.py"), 'w') as fp: + return fp.write("__version__ = '%s'\n" % v) + +def read_version(module): + with open(os.path.join(SETUP_DIR, module, "_version.py"), 'r') as fp: + return re.match("__version__ = '(.*)'$", fp.read()).groups()[0] + +if env_version: + save_version("arvados", env_version) +else: + try: + import arvados_version + vtag = arvados_version.VersionInfoFromGit() + save_version("arvados", vtag.git_latest_tag() + vtag.git_timestamp_tag()) + except ImportError: + pass + +version = read_version("arvados") short_tests_only = False if '--short-tests-only' in sys.argv: @@ -21,7 +40,7 @@ if '--short-tests-only' in sys.argv: 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', @@ -45,16 +64,16 @@ setup(name='arvados-python-client', ('share/doc/arvados-python-client', ['LICENSE-2.0.txt', 'README.rst']), ], install_requires=[ - 'google-api-python-client==1.6.2, <1.7', - 'ciso8601', - 'httplib2 >= 0.9.2', + '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', - 'ruamel.yaml>=0.13.7' + 'ws4py <0.4', ], test_suite='tests', tests_require=['pbr<1.7.0', 'mock>=1.0', 'PyYAML'], - zip_safe=False, - cmdclass={'egg_info': tagger}, + zip_safe=False )