diff --git a/requirements-cli.txt b/requirements-cli.txt new file mode 100644 index 0000000..f58c0c8 --- /dev/null +++ b/requirements-cli.txt @@ -0,0 +1,2 @@ +Click +dulwich diff --git a/requirements-test.txt b/requirements-test.txt index e079f8a..916a7bb 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1 +1,3 @@ +Click +dulwich pytest diff --git a/requirements.txt b/requirements.txt index 236db63..98825fa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,9 +1,7 @@ # Add here external Python modules dependencies, one per line. Module names # should match https://pypi.python.org/pypi names. For the full spec or # dependency lines, see https://pip.readthedocs.org/en/1.1/requirements.html vcversioner -Click attrs hypothesis python-dateutil -dulwich diff --git a/setup.py b/setup.py index 5604841..6f2eb37 100755 --- a/setup.py +++ b/setup.py @@ -1,73 +1,76 @@ #!/usr/bin/env python3 # Copyright (C) 2015-2018 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information from setuptools import setup, find_packages from os import path from io import open here = path.abspath(path.dirname(__file__)) # Get the long description from the README file with open(path.join(here, 'README.md'), encoding='utf-8') as f: long_description = f.read() def parse_requirements(name=None): if name: reqf = 'requirements-%s.txt' % name else: reqf = 'requirements.txt' requirements = [] if not path.exists(reqf): return requirements with open(reqf) as f: for line in f.readlines(): line = line.strip() if not line or line.startswith('#'): continue requirements.append(line) return requirements blake2_requirements = ['pyblake2;python_version<"3.6"'] setup( name='swh.model', description='Software Heritage data model', long_description=long_description, long_description_content_type='text/markdown', author='Software Heritage developers', author_email='swh-devel@inria.fr', url='https://forge.softwareheritage.org/diffusion/DMOD/', packages=find_packages(), setup_requires=['vcversioner'], install_requires=(parse_requirements() + parse_requirements('swh') + blake2_requirements), - extras_require={'testing': parse_requirements('test')}, + extras_require={ + 'cli': parse_requirements('cli'), + 'testing': parse_requirements('test'), + }, vcversioner={}, include_package_data=True, entry_points=''' [console_scripts] swh-identify=swh.model.cli:identify [swh.cli.subcommands] identify=swh.model.cli:identify ''', classifiers=[ "Programming Language :: Python :: 3", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Development Status :: 5 - Production/Stable", ], project_urls={ 'Bug Reports': 'https://forge.softwareheritage.org/maniphest', 'Funding': 'https://www.softwareheritage.org/donate', 'Source': 'https://forge.softwareheritage.org/source/swh-model', }, )