diff options
| -rw-r--r-- | CHANGES.rst | 7 | ||||
| -rw-r--r-- | setuptools/dist.py | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/CHANGES.rst b/CHANGES.rst index f75bb62a..c8a3ecc3 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,10 @@ +v38.0.0 +------- + +* #458: In order to support deterministic builds, Setuptools no + longer allows packages to declare ``install_requires`` as + unordered sequences (sets or dicts). + v37.0.0 ------- diff --git a/setuptools/dist.py b/setuptools/dist.py index aa304500..477f93dd 100644 --- a/setuptools/dist.py +++ b/setuptools/dist.py @@ -166,6 +166,8 @@ def check_requirements(dist, attr, value): """Verify that install_requires is a valid requirements list""" try: list(pkg_resources.parse_requirements(value)) + if isinstance(value, (dict, set)): + raise TypeError("Unordered types are not allowed") except (TypeError, ValueError) as error: tmpl = ( "{attr!r} must be a string or list of strings " |
