summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/2823.change.rst1
-rw-r--r--pytest.ini25
-rw-r--r--setuptools/__init__.py6
3 files changed, 21 insertions, 11 deletions
diff --git a/changelog.d/2823.change.rst b/changelog.d/2823.change.rst
new file mode 100644
index 00000000..69db4c0d
--- /dev/null
+++ b/changelog.d/2823.change.rst
@@ -0,0 +1 @@
+Officially deprecated support for ``setup_requires``. Users are encouraged instead to migrate to PEP 518 ``build-system.requires`` in ``pyproject.toml``. Users reliant on ``setup_requires`` should consider pinning to this major version to avoid disruption.
diff --git a/pytest.ini b/pytest.ini
index eebb212f..f81b6cfb 100644
--- a/pytest.ini
+++ b/pytest.ini
@@ -8,21 +8,24 @@ doctest_optionflags=ALLOW_UNICODE ELLIPSIS
# workaround for warning pytest-dev/pytest#6178
junit_family=xunit2
filterwarnings=
- # Fail on warnings
- error
+ # Fail on warnings
+ error
- ## upstream
+ ## upstream
# Suppress deprecation warning in flake8
ignore:SelectableGroups dict interface is deprecated::flake8
# Suppress deprecation warning in pypa/packaging#433
ignore:The distutils package is deprecated::packaging.tags
## end upstream
- # https://github.com/pypa/setuptools/issues/1823
- ignore:bdist_wininst command is deprecated
- # Suppress this error; unimportant for CI tests
- ignore:Extraction path is writable by group/others:UserWarning
- # Suppress weird RuntimeWarning.
- ignore:Parent module 'setuptools' not found while handling absolute import:RuntimeWarning
- # Suppress use of bytes for filenames on Windows until fixed #2016
- ignore:The Windows bytes API has been deprecated:DeprecationWarning
+ # https://github.com/pypa/setuptools/issues/1823
+ ignore:bdist_wininst command is deprecated
+ # Suppress this error; unimportant for CI tests
+ ignore:Extraction path is writable by group/others:UserWarning
+ # Suppress weird RuntimeWarning.
+ ignore:Parent module 'setuptools' not found while handling absolute import:RuntimeWarning
+ # Suppress use of bytes for filenames on Windows until fixed #2016
+ ignore:The Windows bytes API has been deprecated:DeprecationWarning
+
+ # https://github.com/pypa/setuptools/issues/2823
+ ignore:setup_requires is deprecated.
diff --git a/setuptools/__init__.py b/setuptools/__init__.py
index 9d6f0bc0..a623262e 100644
--- a/setuptools/__init__.py
+++ b/setuptools/__init__.py
@@ -4,6 +4,7 @@ from fnmatch import fnmatchcase
import functools
import os
import re
+import warnings
import _distutils_hack.override # noqa: F401
@@ -144,6 +145,11 @@ def _install_setup_requires(attrs):
# Honor setup.cfg's options.
dist.parse_config_files(ignore_option_errors=True)
if dist.setup_requires:
+ warnings.warn(
+ "setup_requires is deprecated. Supply build "
+ "dependencies using PEP 517 pyproject.toml build-requires.",
+ SetuptoolsDeprecationWarning,
+ )
dist.fetch_build_eggs(dist.setup_requires)