# 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', )