Revision 1ff05161e795a71bf823f55c7d043cf9eaaa1d01 authored by Antoine Lambert on 03 July 2020, 10:18:38 UTC, committed by Antoine Lambert on 03 July 2020, 12:11:32 UTC
When Software Heritage persistent identifiers were introduced, they were not
yet abbreviated as SWHIDs.

Now that abbreviation is growing adoption, rename some functions and types in
swh.model.identifiers for consistency:

  - PersistentId -> SWHID

  - persistent_identifier -> swhid

  - parse_persistent_identifier -> parse_swhid

Backward compatibility with previous naming is maintained but deprecation
warnings are introduced to encourage the use of the new names.

Numerous variables in swh.model codebase have also been renamed accordingly.

Also rework and improve documentation.
1 parent 8863b5c
Raw File
setup.py
#!/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

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",
    python_requires=">=3.7",
    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={
        "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",
        "Documentation": "https://docs.softwareheritage.org/devel/swh-model/",
    },
)
back to top