# 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.
""".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)
    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)

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=[PACKAGE_NAME],
    install_requires=REQUIREMENTS_MAIN,
    extras_require={
        'test': REQUIREMENTS_TEST,
    },
    python_requires='>=3.9',
)