This commit was automatically generated by [a script](https://gitfub.space/Jmaa/repo-manager)
76 lines
1.8 KiB
Python
76 lines
1.8 KiB
Python
# WARNING!
|
|
# THIS IS AN AUTOGENERATED FILE!
|
|
# MANUAL CHANGES CAN AND WILL BE OVERWRITTEN!
|
|
|
|
import re
|
|
from pathlib import Path
|
|
|
|
from setuptools import setup
|
|
|
|
PACKAGE_NAME = 'datagraph'
|
|
|
|
PACKAGE_DESCRIPTION = """
|
|
# Datagraph Library.
|
|
|
|
Utility for working with scheme+ld and other data-graph and semantic web formats.
|
|
""".strip()
|
|
|
|
PACKAGE_DESCRIPTION_SHORT = """
|
|
Utility for working with scheme+ld and other data-graph and semantic web formats.""".strip()
|
|
|
|
|
|
def parse_version_file(text: str) -> str:
|
|
text = re.sub('^#.*', '', text, flags=re.MULTILINE)
|
|
match = re.match(r'^\s*__version__\s*=\s*(["\'])([\d\.]+)\1$', text)
|
|
if match is None:
|
|
msg = 'Malformed _version.py file!'
|
|
raise Exception(msg)
|
|
return match.group(2)
|
|
|
|
|
|
def find_python_packages() -> list[str]:
|
|
"""
|
|
Find all python packages. (Directories containing __init__.py files.)
|
|
"""
|
|
root_path = Path(PACKAGE_NAME)
|
|
packages: set[str] = set([PACKAGE_NAME])
|
|
|
|
# Search recursively
|
|
for init_file in root_path.rglob('__init__.py'):
|
|
packages.add(str(init_file.parent).replace('/', '.'))
|
|
|
|
print(f'Found following packages: {packages}')
|
|
return sorted(packages)
|
|
|
|
with open(PACKAGE_NAME + '/_version.py') as f:
|
|
version = parse_version_file(f.read())
|
|
|
|
|
|
REQUIREMENTS_MAIN = [
|
|
'requests',
|
|
'ratelimit',
|
|
'wikidata',
|
|
]
|
|
REQUIREMENTS_TEST = [
|
|
'pytest',
|
|
'requests_cache',
|
|
]
|
|
|
|
|
|
setup(
|
|
name=PACKAGE_NAME,
|
|
version=version,
|
|
description=PACKAGE_DESCRIPTION_SHORT,
|
|
long_description=PACKAGE_DESCRIPTION,
|
|
long_description_content_type='text/markdown',
|
|
author='Jon Michael Aanes',
|
|
author_email='jonjmaa@gmail.com',
|
|
url='https://gitfub.space/Jmaa/' + PACKAGE_NAME,
|
|
packages=find_python_packages(),
|
|
install_requires=REQUIREMENTS_MAIN,
|
|
extras_require={
|
|
'test': REQUIREMENTS_TEST,
|
|
},
|
|
python_requires='>=3.9',
|
|
)
|