[Python-Dev] Process to remove a Python feature

Serhiy Storchaka storchaka at gmail.com
Tue May 8 12:53:16 EDT 2018


08.05.18 19:10, Ethan Furman пише:
>> X.Y+1: added a deprecation warning. Many users need to support only 
>> two recent versions and can move to using the
>> replacement now.
> 
> I'm curious how you arrived at this conclusion?  I know I've only worked 
> at two different Python-using companies, but neither aggressively tracks 
> the latest Python minor version, and as a library author I support more 
> than the two most recent versions.

Maybe I was too optimistic. ;-)  Libraries need to support more Python 
versions of course. But two versions is a minimum, and I thing that for 
many applications (if they are targeted to the specific OS version or 
shipped with an own Python) this is enough. Even if their number is not 
large, they will get a benefit from introducing a replacement before 
adding a warning.

If you support versions X.Y-1 and X.Y, you just use the old feature. If 
you support versions X.Y and X.Y+1, you replace it with the new feature. 
If you support versions X.Y-1, X.Y and X.Y+1 you need either to ignore 
varnings, or to add a runtime check for switching between using the old 
and the new feature. This complicates the code. But at least the code is 
clear in the first two cases.



More information about the Python-Dev mailing list