urllib3 1.x has supported Python 2 for over 4 years since the end of Python 2's security release cycle. Since that time, download numbers indicate that Python 2 makes up around 2% of our total downloads across all versions.
Today it's quite difficult to actually test Python 2 on our 1.26.x branch due to dependencies and GitHub Actions moving on from Python 2 so long ago. I propose we update the minimum Python version on the 1.26.x branch to be "3" in the packaging metadata and remove any Python 2 CI/testing to avoid further blocking that branch. We won't intentionally break Python 2 support, but in the future a security fix may do so.
We'll also keep App Engine support around, but will be dropping the requirement to test it since it requires Python 2.
urllib3 1.x has supported Python 2 for over 4 years since the end of Python 2's security release cycle. Since that time, download numbers indicate that Python 2 makes up around 2% of our total downloads across all versions.
Today it's quite difficult to actually test Python 2 on our 1.26.x branch due to dependencies and GitHub Actions moving on from Python 2 so long ago. I propose we update the minimum Python version on the 1.26.x branch to be "3" in the packaging metadata and remove any Python 2 CI/testing to avoid further blocking that branch. We won't intentionally break Python 2 support, but in the future a security fix may do so.
We'll also keep App Engine support around, but will be dropping the requirement to test it since it requires Python 2.