Merge branch '19712-remove-perl'
[arvados.git] / sdk / cwl / setup.py
1 #!/usr/bin/env python3
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: Apache-2.0
5
6 from __future__ import absolute_import
7 import os
8 import sys
9
10 from setuptools import setup, find_packages
11
12 SETUP_DIR = os.path.dirname(__file__) or '.'
13 README = os.path.join(SETUP_DIR, 'README.rst')
14
15 import arvados_version
16 version = arvados_version.get_version(SETUP_DIR, "arvados_cwl")
17 if os.environ.get('ARVADOS_BUILDING_VERSION', False):
18     pysdk_dep = "=={}".format(version)
19 else:
20     # On dev releases, arvados-python-client may have a different timestamp
21     pysdk_dep = "<={}".format(version)
22
23 setup(name='arvados-cwl-runner',
24       version=version,
25       description='Arvados Common Workflow Language runner',
26       long_description=open(README).read(),
27       author='Arvados',
28       author_email='info@arvados.org',
29       url="https://arvados.org",
30       download_url="https://github.com/arvados/arvados.git",
31       license='Apache 2.0',
32       packages=find_packages(),
33       package_data={'arvados_cwl': ['arv-cwl-schema-v1.0.yml', 'arv-cwl-schema-v1.1.yml', 'arv-cwl-schema-v1.2.yml']},
34       entry_points={"console_scripts": ["cwl-runner=arvados_cwl:main", "arvados-cwl-runner=arvados_cwl:main"]},
35       # Note that arvados/build/run-build-packages.sh looks at this
36       # file to determine what version of cwltool and schema-salad to
37       # build.
38       install_requires=[
39           'cwltool==3.1.20220907141119',
40           'schema-salad==8.3.20220913105718',
41           'arvados-python-client{}'.format(pysdk_dep),
42           'setuptools',
43           'ciso8601 >= 2.0.0',
44           'networkx < 2.6',
45           'msgpack==1.0.3',
46           'importlib-metadata<5'
47       ],
48       data_files=[
49           ('share/doc/arvados-cwl-runner', ['LICENSE-2.0.txt', 'README.rst']),
50       ],
51       python_requires=">=3.5, <4",
52       classifiers=[
53           'Programming Language :: Python :: 3',
54       ],
55       test_suite='tests',
56       tests_require=[
57           'mock>=1.0,<4',
58           'subprocess32>=3.5.1',
59       ],
60       zip_safe=True,
61 )