GrahamDumpleton / wrapt

A Python module for decorators, wrappers and monkey patching.
BSD 2-Clause "Simplified" License
2.04k stars 230 forks source link

Drop support for Python < 3.6 #191

Open tiran opened 2 years ago

tiran commented 2 years ago

Signed-off-by: Christian Heimes christian@python.org

GrahamDumpleton commented 2 years ago

Why wouldn't I skip this and go straight to:

tiran commented 2 years ago

This PR is pretty much safe, does not introduce any nasty C bugs, and removes all Python 2 related quirks.

PR #187 doesn't remove all Python 2 code. There is also a possibility that it introduces C bugs or ref leaks. It needs a thorough review.

n1ngu commented 2 years ago

Such PR essentially removing this amount of compatibility boilerplate and still passing the test suite for python 3.6-3.10 and pypy can only be approved! Looks Very Good To Me.

I also vouch to integrate this separately from #187 for the sake of the VCS sanity.

zevaryx commented 2 years ago

Taking a look at this, and testing against Python 3.11a6, wrapt fails to install on Python 3.11 due to setuptools.formatargspec being removed. However, since this PR drops support for Python 3.5 and lower, it should be replaced with setuptools.signature as recommended in the release notes for Python 3.11

GrahamDumpleton commented 2 years ago

Version 1.14.0 of wrapt deals with Python 3.11 changes. This PR would need to be rebased against that.