Changeset View
Changeset View
Standalone View
Standalone View
setup.py
Show All 10 Lines | |||||
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(name=None): | def parse_requirements(*names): | ||||
requirements = [] | |||||
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" | ||||
requirements = [] | |||||
if not path.exists(reqf): | if not 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.scheduler", | name="swh.scheduler", | ||||
description="Software Heritage Scheduler", | description="Software Heritage Scheduler", | ||||
long_description=long_description, | long_description=long_description, | ||||
long_description_content_type="text/markdown", | long_description_content_type="text/markdown", | ||||
python_requires=">=3.7", | python_requires=">=3.7", | ||||
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/DSCH/", | url="https://forge.softwareheritage.org/diffusion/DSCH/", | ||||
packages=find_packages(), | packages=find_packages(), | ||||
setup_requires=["setuptools-scm"], | setup_requires=["setuptools-scm"], | ||||
use_scm_version=True, | use_scm_version=True, | ||||
install_requires=parse_requirements() + parse_requirements("swh"), | install_requires=parse_requirements(None, "swh"), | ||||
extras_require={ | extras_require={ | ||||
"testing": parse_requirements("test") + parse_requirements("journal"), | "testing": parse_requirements("test", "journal", "simulator"), | ||||
"journal": parse_requirements("journal"), | "journal": parse_requirements("journal"), | ||||
"simulator": parse_requirements("simulator"), | |||||
}, | }, | ||||
include_package_data=True, | include_package_data=True, | ||||
entry_points=""" | entry_points=""" | ||||
[swh.cli.subcommands] | [swh.cli.subcommands] | ||||
scheduler=swh.scheduler.cli | scheduler=swh.scheduler.cli | ||||
scheduler-journal=swh.scheduler.cli.journal | scheduler-journal=swh.scheduler.cli.journal | ||||
""", | """, | ||||
classifiers=[ | classifiers=[ | ||||
Show All 13 Lines |