1
0
requests_util/setup.py

75 lines
2.0 KiB
Python
Raw Normal View History

2024-05-27 19:55:36 +00:00
# WARNING
#
# THIS IS AN AUTOGENERATED FILE.
#
# MANUAL CHANGES CAN AND WILL BE OVERWRITTEN.
2024-03-11 19:39:12 +00:00
import re
2024-03-11 19:48:20 +00:00
from setuptools import setup
2024-03-11 19:39:12 +00:00
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).
2024-03-11 19:39:12 +00:00
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()
2024-05-29 18:29:10 +00:00
def parse_version_file(text: str) -> str:
2024-03-11 19:39:12 +00:00
match = re.match(r'^__version__\s*=\s*(["\'])([\d\.]+)\1$', text)
2024-05-29 18:29:10 +00:00
if match is None:
msg = 'Malformed _version.py file!'
raise Exception(msg)
return match.group(2)
2024-03-11 19:39:12 +00:00
2024-05-29 18:29:10 +00:00
with open(PACKAGE_NAME + '/_version.py') as f:
version = parse_version_file(f.read())
2024-03-11 19:41:04 +00:00
2024-05-27 19:55:36 +00:00
def parse_requirements(text: str) -> list[str]:
return text.strip().split('\n')
2024-05-29 18:29:10 +00:00
def read_requirements(path: str) -> list[str]:
2024-05-27 19:55:36 +00:00
with open(path) as f:
return parse_requirements(f.read())
REQUIREMENTS_MAIN = """
requests
requests_ratelimiter
requests_cache"""
2024-05-27 19:55:36 +00:00
REQUIREMENTS_TEST = """
pytest"""
2024-05-27 19:55:36 +00:00
2024-03-11 19:39:12 +00:00
setup(
name=PACKAGE_NAME,
version=version,
description=PACKAGE_DESCRIPTION_SHORT,
long_description=PACKAGE_DESCRIPTION,
2024-03-11 19:39:12 +00:00
long_description_content_type='text/markdown',
author='Jon Michael Aanes',
2024-03-11 19:39:12 +00:00
author_email='jonjmaa@gmail.com',
2024-03-11 19:41:04 +00:00
url='https://gitfub.space/Jmaa/' + PACKAGE_NAME,
2024-03-11 19:39:12 +00:00
packages=[PACKAGE_NAME],
2024-05-27 19:55:36 +00:00
install_requires=parse_requirements(REQUIREMENTS_MAIN),
2024-03-11 19:41:04 +00:00
extras_require={
2024-05-27 19:55:36 +00:00
'test': parse_requirements(REQUIREMENTS_TEST),
2024-03-11 19:39:12 +00:00
},
2024-05-27 19:55:36 +00:00
python_requires='>=3.9',
2024-03-11 19:39:12 +00:00
)