diff --git a/news/6501.feature b/news/6501.feature new file mode 100644 index 00000000000..9f496ae614f --- /dev/null +++ b/news/6501.feature @@ -0,0 +1 @@ +Moved most of the setup.py to declarative setup.cfg. diff --git a/setup.cfg b/setup.cfg index eb870bb5e99..2d393d32e79 100644 --- a/setup.cfg +++ b/setup.cfg @@ -41,4 +41,39 @@ addopts = --ignore src/pip/_vendor --ignore tests/tests_cache -r aR universal = 1 [metadata] +name = pip +version = attr: pip.__version__ +url = https://pip.pypa.io/ +author = The pip developers +author_email = pypa-dev@groups.google.com +description = The PyPA recommended tool for installing Python packages. +long_description = file: README.rst +keywords = distutils, easy_install, egg, setuptools, wheel, virtualenv +license = MIT license_file = LICENSE.txt +classifiers = + Development Status :: 5 - Production/Stable + Intended Audience :: Developers + License :: OSI Approved :: MIT License + Topic :: Software Development :: Build Tools + Programming Language :: Python + Programming Language :: Python :: 2 + Programming Language :: Python :: 2.7 + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.4 + Programming Language :: Python :: 3.5 + Programming Language :: Python :: 3.6 + Programming Language :: Python :: 3.7 + Programming Language :: Python :: Implementation :: CPython + Programming Language :: Python :: Implementation :: PyPy + +[options] +zip_safe = False +package_dir = + = src +packages = find: +python_requires = >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.* + +[options.packages.find] +where = src +exclude = contrib, docs, tests*, tasks diff --git a/setup.py b/setup.py index e2e14b4965a..b30a567e81b 100644 --- a/setup.py +++ b/setup.py @@ -1,69 +1,8 @@ -import codecs -import os -import re import sys -from setuptools import find_packages, setup - -here = os.path.abspath(os.path.dirname(__file__)) - - -def read(*parts): - # intentionally *not* adding an encoding option to open, See: - # https://github.com/pypa/virtualenv/issues/201#issuecomment-3145690 - with codecs.open(os.path.join(here, *parts), 'r') as fp: - return fp.read() - - -def find_version(*file_paths): - version_file = read(*file_paths) - version_match = re.search( - r"^__version__ = ['\"]([^'\"]*)['\"]", - version_file, - re.M, - ) - if version_match: - return version_match.group(1) - - raise RuntimeError("Unable to find version string.") - - -long_description = read('README.rst') +from setuptools import setup setup( - name="pip", - version=find_version("src", "pip", "__init__.py"), - description="The PyPA recommended tool for installing Python packages.", - long_description=long_description, - - license='MIT', - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Topic :: Software Development :: Build Tools", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - ], - url='https://pip.pypa.io/', - keywords='distutils easy_install egg setuptools wheel virtualenv', - - author='The pip developers', - author_email='pypa-dev@groups.google.com', - - package_dir={"": "src"}, - packages=find_packages( - where="src", - exclude=["contrib", "docs", "tests*", "tasks"], - ), package_data={ "pip._vendor.certifi": ["*.pem"], "pip._vendor.requests": ["*.pem"], @@ -77,7 +16,4 @@ def find_version(*file_paths): "pip%s.%s=pip._internal:main" % sys.version_info[:2], ], }, - - zip_safe=False, - python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*', )