-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Description
Overview
As we enter our third year of Python 2.7 reaching end-of-life, Requests has decided it's time to start deprecating our support. While we have yet to confirm a date, we want to provide early notice that this is coming at some point in 2022. This follows as the majority of our critical downstream consumers have finished their deprecation campaigns. While we understand this may be viewed as an inconvenience for those still using Python 2.7, I'll try to layout the steps we're taking to ensure a smooth transition.
In January, we will be releasing Requests 2.27.0. This is intended to be the last minor release with guaranteed support, including all 2.27.x hotfix releases. We've taken steps to ensure this release series includes fixes for some of the longer standing pain points and provide as much long term stability as we're able. Users who intend to continue Python 2.7 use should review the Mitigation Steps section of this issue.
Going forward, we're still working through what a Python 3-only Requests looks like. We'd like to preface now that it's unlikely to contain many of the more exciting features that may have previously been promised by former maintainers. In future releases, we'll look to add quality-of-life improvements as they make sense while maintaining the primary focus of stability in the library. We'll provide more on that as information is available.
Mitigation Steps
For Requests users that intend to remain on Python 2.7 through 2022, we recommend taking the following mitigation steps.
- For users of
pip9.0+, we'll also be releasing an update to thepython_requiresmetadata to>=3.7in Requests. This will prevent unintended installation on unsupported Python versions. - For users who want to codify this requirement across all environments, ensure that you've explicitly pinned Requests in your workspace or project to
requests<2.28. This will prevent unintended interruptions with future releases. - For users of LTS operating systems providing Python 2.7 support through 2023, you'll need to work with their support teams for bug or security issues for any releases after 2.27.