1
0
requests_util/setup.py
2025-06-04 21:30:18 +02:00

81 lines
2.3 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 = 'requests_util'
PACKAGE_DESCRIPTION = """
# Requests utilities.
Utility for standarized usage of HTTP requests extension libraries in a modular fashion across different libraries.
Currently supports [`requests_cache`](https://requests-cache.readthedocs.io) and [`requests_ratelimiter`](https://github.com/JWCook/requests-ratelimiter).
The intention is that a libraries can automatically setup ratelimiting for
their specific use cases, as the library most likely has a better
understanding of the ratelimiting and caching behaviour of their associated websites than the user has.
""".strip()
PACKAGE_DESCRIPTION_SHORT = """
Utility for standarized usage of HTTP requests extension libraries in a modular fashion across different libraries.""".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',
'requests_ratelimiter',
'requests_cache',
]
REQUIREMENTS_TEST = [
'pytest',
]
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',
)