#!/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:
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',
'bin/arv-get',
'bin/arv-keepdocker',
'bin/arv-ls',
+ 'bin/arv-migrate-docker19',
'bin/arv-normalize',
'bin/arv-put',
'bin/arv-run',
('share/doc/arvados-python-client', ['LICENSE-2.0.txt', 'README.rst']),
],
install_requires=[
- 'google-api-python-client==1.4.2',
- 'oauth2client >=1.4.6, <2',
- 'ciso8601',
- 'httplib2',
- 'pycurl >=7.19.5.1, <7.21.5',
- 'python-gflags<3.0',
+ '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',
- '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
)