# WARNING # # THIS IS AN AUTOGENERATED FILE. # # MANUAL CHANGES CAN AND WILL BE OVERWRITTEN. import re 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. # License ``` Copyright (c) 2024 Jon Michael Aanes All rights reserved. ```""" PACKAGE_DESCRIPTION_SHORT='Utility for standarized usage of HTTP requests extension libraries in a modular fashion across different libraries.' def parse_version_file(text: str) -> str: match = re.match(r'^__version__\s*=\s*(["\'])([\d\.]+)\1$', text) if match is None: msg = 'Malformed _version.py file!' raise Exception(msg) return match.group(2) with open(PACKAGE_NAME + '/_version.py') as f: version = parse_version_file(f.read()) def parse_requirements(text: str) -> list[str]: return text.strip().split('\n') def read_requirements(path: str) -> list[str]: with open(path) as f: return parse_requirements(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=[PACKAGE_NAME], install_requires=parse_requirements(REQUIREMENTS_MAIN), extras_require={ 'test': parse_requirements(REQUIREMENTS_TEST), }, python_requires='>=3.9', )