From 1ca502ef3a1cfdf536526a3154b51ea0fdf4d328 Mon Sep 17 00:00:00 2001 From: Mathieu Dupuy Date: Sat, 26 Aug 2023 10:48:11 +0200 Subject: [PATCH] migrate to setup.cfg --- setup.cfg | 60 +++++++++++++++++++++++++ setup.py | 131 +----------------------------------------------------- 2 files changed, 61 insertions(+), 130 deletions(-) diff --git a/setup.cfg b/setup.cfg index 14e2d96cf6..a74d9dda75 100644 --- a/setup.cfg +++ b/setup.cfg @@ -8,6 +8,66 @@ requires-dist = charset_normalizer>=2,<4 idna>=2.5,<4 urllib3>=1.21.1,<1.27 +name = requests +version = 2.31.0 +author = Kenneth Reitz +author_email = me@kennethreitz.org +license = Apache-2.0 +description = Python HTTP for Humans. +url = https://requests.readthedocs.io +long_description = file: README.md +long_description_content_type = text/markdown +classifiers = + Development Status :: 5 - Production/Stable + Environment :: Web Environment + Intended Audience :: Developers + License :: OSI Approved :: Apache Software License + Natural Language :: English + Operating System :: OS Independent + Programming Language :: Python + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3 :: Only + Programming Language :: Python :: Implementation :: CPython + Programming Language :: Python :: Implementation :: PyPy + Topic :: Internet :: WWW/HTTP + Topic :: Software Development :: Libraries +project_urls = + Documentation = https://requests.readthedocs.io + Source = https://github.com/psf/requests + +[options] +package_dir = + = src +packages = requests +zip_safe = False +install_requires = + charset_normalizer>=2,<4 + idna>=2.5,<4 + urllib3>=1.21.1,<3 + certifi>=2017.4.17 +include_package_data = True +python_requires = >=3.7 +tests_require = + pytest-httpbin==2.0.0 + pytest-cov + pytest-mock + pytest-xdist + PySocks>=1.5.6, !=1.5.7 + pytest>=3 + +[options.extras_require] +security = +socks = PySocks>=1.5.6, !=1.5.7 +use_chardet_on_py3 = chardet>=3.0.2,<6 + +;[options.package_data] +; = LICENSE; NOTICE [flake8] ignore = E203, E501, W503 diff --git a/setup.py b/setup.py index dc8043a695..c823345536 100755 --- a/setup.py +++ b/setup.py @@ -1,133 +1,4 @@ #!/usr/bin/env python -import os -import sys -from codecs import open - from setuptools import setup -from setuptools.command.test import test as TestCommand - -CURRENT_PYTHON = sys.version_info[:2] -REQUIRED_PYTHON = (3, 7) - -if CURRENT_PYTHON < REQUIRED_PYTHON: - sys.stderr.write( - """ -========================== -Unsupported Python version -========================== -This version of Requests requires at least Python {}.{}, but -you're trying to install it on Python {}.{}. To resolve this, -consider upgrading to a supported Python version. - -If you can't upgrade your Python version, you'll need to -pin to an older version of Requests (<2.28). -""".format( - *(REQUIRED_PYTHON + CURRENT_PYTHON) - ) - ) - sys.exit(1) - - -class PyTest(TestCommand): - user_options = [("pytest-args=", "a", "Arguments to pass into py.test")] - - def initialize_options(self): - TestCommand.initialize_options(self) - try: - from multiprocessing import cpu_count - - self.pytest_args = ["-n", str(cpu_count()), "--boxed"] - except (ImportError, NotImplementedError): - self.pytest_args = ["-n", "1", "--boxed"] - - def finalize_options(self): - TestCommand.finalize_options(self) - self.test_args = [] - self.test_suite = True - - def run_tests(self): - import pytest - - errno = pytest.main(self.pytest_args) - sys.exit(errno) - - -# 'setup.py publish' shortcut. -if sys.argv[-1] == "publish": - os.system("python setup.py sdist bdist_wheel") - os.system("twine upload dist/*") - sys.exit() - -requires = [ - "charset_normalizer>=2,<4", - "idna>=2.5,<4", - "urllib3>=1.21.1,<3", - "certifi>=2017.4.17", -] -test_requirements = [ - "pytest-httpbin==2.0.0", - "pytest-cov", - "pytest-mock", - "pytest-xdist", - "PySocks>=1.5.6, !=1.5.7", - "pytest>=3", -] - -about = {} -here = os.path.abspath(os.path.dirname(__file__)) -with open(os.path.join(here, "src", "requests", "__version__.py"), "r", "utf-8") as f: - exec(f.read(), about) - -with open("README.md", "r", "utf-8") as f: - readme = f.read() -setup( - name=about["__title__"], - version=about["__version__"], - description=about["__description__"], - long_description=readme, - long_description_content_type="text/markdown", - author=about["__author__"], - author_email=about["__author_email__"], - url=about["__url__"], - packages=["requests"], - package_data={"": ["LICENSE", "NOTICE"]}, - package_dir={"": "src"}, - include_package_data=True, - python_requires=">=3.7", - install_requires=requires, - license=about["__license__"], - zip_safe=False, - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Environment :: Web Environment", - "Intended Audience :: Developers", - "License :: OSI Approved :: Apache Software License", - "Natural Language :: English", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Internet :: WWW/HTTP", - "Topic :: Software Development :: Libraries", - ], - cmdclass={"test": PyTest}, - tests_require=test_requirements, - extras_require={ - "security": [], - "socks": ["PySocks>=1.5.6, !=1.5.7"], - "use_chardet_on_py3": ["chardet>=3.0.2,<6"], - }, - project_urls={ - "Documentation": "https://requests.readthedocs.io", - "Source": "https://github.com/psf/requests", - }, -) +setup()