Changeset View
Changeset View
Standalone View
Standalone View
setup.py
#!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||
# Copyright (C) 2015-2018 The Software Heritage developers | # Copyright (C) 2015-2018 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import os | import os | ||||
from setuptools import setup, find_packages | from setuptools import setup, find_packages | ||||
from os import path | from os import path | ||||
from io import open | from io import open | ||||
here = path.abspath(path.dirname(__file__)) | here = path.abspath(path.dirname(__file__)) | ||||
# Get the long description from the README file | # Get the long description from the README file | ||||
with open(path.join(here, 'README.md'), encoding='utf-8') as f: | with open(path.join(here, "README.md"), encoding="utf-8") as f: | ||||
long_description = f.read() | long_description = f.read() | ||||
def parse_requirements(*names): | def parse_requirements(*names): | ||||
requirements = [] | requirements = [] | ||||
for name in names: | for name in names: | ||||
if name: | if name: | ||||
reqf = 'requirements-%s.txt' % name | reqf = "requirements-%s.txt" % name | ||||
else: | else: | ||||
reqf = 'requirements.txt' | reqf = "requirements.txt" | ||||
if not os.path.exists(reqf): | if not os.path.exists(reqf): | ||||
return requirements | return requirements | ||||
with open(reqf) as f: | with open(reqf) as f: | ||||
for line in f.readlines(): | for line in f.readlines(): | ||||
line = line.strip() | line = line.strip() | ||||
if not line or line.startswith('#'): | if not line or line.startswith("#"): | ||||
continue | continue | ||||
requirements.append(line) | requirements.append(line) | ||||
return requirements | return requirements | ||||
setup( | setup( | ||||
name='swh.core', | name="swh.core", | ||||
description='Software Heritage core utilities', | description="Software Heritage core utilities", | ||||
long_description=long_description, | long_description=long_description, | ||||
long_description_content_type='text/markdown', | long_description_content_type="text/markdown", | ||||
author='Software Heritage developers', | author="Software Heritage developers", | ||||
author_email='swh-devel@inria.fr', | author_email="swh-devel@inria.fr", | ||||
url='https://forge.softwareheritage.org/diffusion/DCORE/', | url="https://forge.softwareheritage.org/diffusion/DCORE/", | ||||
packages=find_packages(), | packages=find_packages(), | ||||
py_modules=['pytest_swh_core'], | py_modules=["pytest_swh_core"], | ||||
scripts=[], | scripts=[], | ||||
install_requires=parse_requirements(None, 'swh'), | install_requires=parse_requirements(None, "swh"), | ||||
setup_requires=['vcversioner'], | setup_requires=["vcversioner"], | ||||
extras_require={ | extras_require={ | ||||
'testing-core': parse_requirements('test'), | "testing-core": parse_requirements("test"), | ||||
'logging': parse_requirements('logging'), | "logging": parse_requirements("logging"), | ||||
'db': parse_requirements('db'), | "db": parse_requirements("db"), | ||||
'testing-db': parse_requirements('test-db'), | "testing-db": parse_requirements("test-db"), | ||||
'http': parse_requirements('http'), | "http": parse_requirements("http"), | ||||
# kitchen sink, please do not use | # kitchen sink, please do not use | ||||
'testing': parse_requirements('test', 'test-db', 'db', 'http', | "testing": parse_requirements("test", "test-db", "db", "http", "logging"), | ||||
'logging'), | |||||
}, | }, | ||||
vcversioner={}, | vcversioner={}, | ||||
include_package_data=True, | include_package_data=True, | ||||
entry_points=''' | entry_points=""" | ||||
[console_scripts] | [console_scripts] | ||||
swh=swh.core.cli:main | swh=swh.core.cli:main | ||||
swh-db-init=swh.core.cli.db:db_init | swh-db-init=swh.core.cli.db:db_init | ||||
[swh.cli.subcommands] | [swh.cli.subcommands] | ||||
db=swh.core.cli.db:db | db=swh.core.cli.db:db | ||||
db-init=swh.core.cli.db:db_init | db-init=swh.core.cli.db:db_init | ||||
[pytest11] | [pytest11] | ||||
pytest_swh_core = swh.core.pytest_plugin | pytest_swh_core = swh.core.pytest_plugin | ||||
''', | """, | ||||
classifiers=[ | classifiers=[ | ||||
"Programming Language :: Python :: 3", | "Programming Language :: Python :: 3", | ||||
"Intended Audience :: Developers", | "Intended Audience :: Developers", | ||||
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)", | "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", | ||||
"Operating System :: OS Independent", | "Operating System :: OS Independent", | ||||
"Development Status :: 5 - Production/Stable", | "Development Status :: 5 - Production/Stable", | ||||
], | ], | ||||
project_urls={ | project_urls={ | ||||
'Bug Reports': 'https://forge.softwareheritage.org/maniphest', | "Bug Reports": "https://forge.softwareheritage.org/maniphest", | ||||
'Funding': 'https://www.softwareheritage.org/donate', | "Funding": "https://www.softwareheritage.org/donate", | ||||
'Source': 'https://forge.softwareheritage.org/source/swh-core', | "Source": "https://forge.softwareheritage.org/source/swh-core", | ||||
}, | }, | ||||
) | ) |