110 lines
3.0 KiB
Python
110 lines
3.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
import codecs
|
|
import os
|
|
import re
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
kwargs = {}
|
|
kwargs["install_requires"] = [
|
|
"isodate",
|
|
"pyparsing",
|
|
"setuptools",
|
|
"importlib-metadata; python_version < '3.8.0'",
|
|
]
|
|
kwargs["tests_require"] = [
|
|
"html5lib",
|
|
"pytest",
|
|
"pytest-cov",
|
|
]
|
|
kwargs["extras_require"] = {
|
|
"html": ["html5lib"],
|
|
"tests": kwargs["tests_require"],
|
|
"docs": [
|
|
"myst-parser",
|
|
"sphinx < 6",
|
|
"sphinxcontrib-apidoc",
|
|
"sphinxcontrib-kroki",
|
|
"sphinx-autodoc-typehints",
|
|
],
|
|
"berkeleydb": ["berkeleydb"],
|
|
"networkx": ["networkx"],
|
|
"dev": [
|
|
"black==22.6.0",
|
|
"flake8",
|
|
"flakeheaven; python_version >= '3.8.0'",
|
|
"isort",
|
|
"mypy",
|
|
"pep8-naming",
|
|
"types-setuptools",
|
|
],
|
|
}
|
|
|
|
|
|
def find_version(filename):
|
|
_version_re = re.compile(r'__version__ = "(.*)"')
|
|
for line in open(filename):
|
|
version_match = _version_re.match(line)
|
|
if version_match:
|
|
return version_match.group(1)
|
|
|
|
|
|
def open_local(paths, mode="r", encoding="utf8"):
|
|
path = os.path.join(os.path.abspath(os.path.dirname(__file__)), *paths)
|
|
return codecs.open(path, mode, encoding)
|
|
|
|
|
|
with open_local(["README.md"], encoding="utf-8") as readme:
|
|
long_description = readme.read()
|
|
|
|
version = find_version("rdflib/__init__.py")
|
|
|
|
packages = find_packages(exclude=("examples*", "test*"))
|
|
|
|
if os.environ.get("READTHEDOCS", None):
|
|
# if building docs for RTD
|
|
# install examples, to get docstrings
|
|
packages.append("examples")
|
|
|
|
setup(
|
|
name="rdflib",
|
|
version=version,
|
|
description="RDFLib is a Python library for working with RDF, a "
|
|
"simple yet powerful language for representing information.",
|
|
author="Daniel 'eikeon' Krech",
|
|
author_email="eikeon@eikeon.com",
|
|
maintainer="RDFLib Team",
|
|
maintainer_email="rdflib-dev@googlegroups.com",
|
|
url="https://github.com/RDFLib/rdflib",
|
|
license="bsd-3-clause",
|
|
platforms=["any"],
|
|
python_requires=">=3.7",
|
|
classifiers=[
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.7",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"License :: OSI Approved :: BSD License",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"Operating System :: OS Independent",
|
|
"Natural Language :: English",
|
|
],
|
|
long_description=long_description,
|
|
long_description_content_type="text/markdown",
|
|
packages=packages,
|
|
entry_points={
|
|
"console_scripts": [
|
|
"rdfpipe = rdflib.tools.rdfpipe:main",
|
|
"csv2rdf = rdflib.tools.csv2rdf:main",
|
|
"rdf2dot = rdflib.tools.rdf2dot:main",
|
|
"rdfs2dot = rdflib.tools.rdfs2dot:main",
|
|
"rdfgraphisomorphism = rdflib.tools.graphisomorphism:main",
|
|
],
|
|
},
|
|
**kwargs,
|
|
)
|