Skip to content
Snippets Groups Projects
setup.py 2.38 KiB
Newer Older
#!/usr/bin/env python3
# Copyright (C) 2015-2020  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
Nicolas Dandrimont's avatar
Nicolas Dandrimont committed
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
David Douard's avatar
David Douard committed
with open(path.join(here, "README.md"), encoding="utf-8") as f:
    long_description = f.read()
def parse_requirements(name=None):
    if name:
David Douard's avatar
David Douard committed
        reqf = "requirements-%s.txt" % name
    else:
David Douard's avatar
David Douard committed
        reqf = "requirements.txt"
    requirements = []
    if not path.exists(reqf):
        return requirements

    with open(reqf) as f:
        for line in f.readlines():
            line = line.strip()
David Douard's avatar
David Douard committed
            if not line or line.startswith("#"):
                continue
            requirements.append(line)
blake2_requirements = ['pyblake2;python_version<"3.6"']
David Douard's avatar
David Douard committed
    name="swh.model",
    description="Software Heritage data model",
    long_description=long_description,
David Douard's avatar
David Douard committed
    long_description_content_type="text/markdown",
David Douard's avatar
David Douard committed
    author="Software Heritage developers",
    author_email="swh-devel@inria.fr",
    url="https://forge.softwareheritage.org/diffusion/DMOD/",
    packages=find_packages(),
David Douard's avatar
David Douard committed
    setup_requires=["vcversioner"],
    install_requires=(
        parse_requirements() + parse_requirements("swh") + blake2_requirements
    ),
David Douard's avatar
David Douard committed
        "cli": parse_requirements("cli"),
        "testing": parse_requirements("test"),
    vcversioner={},
    include_package_data=True,
David Douard's avatar
David Douard committed
    entry_points="""
        [console_scripts]
        swh-identify=swh.model.cli:identify
        [swh.cli.subcommands]
        identify=swh.model.cli:identify
David Douard's avatar
David Douard committed
    """,
    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={
David Douard's avatar
David Douard committed
        "Bug Reports": "https://forge.softwareheritage.org/maniphest",
        "Funding": "https://www.softwareheritage.org/donate",
        "Source": "https://forge.softwareheritage.org/source/swh-model",