If the __version__ variable is used, I suggest to start with a
deprecation period using a module __getattr__(): emit
DeprecationWarning, and only remove these variables in 2 Python
releases (PEP 387).

sys.version or sys.version_info can be used instead of argparse.__version__, no?

Victor

Le mer. 14 oct. 2020 à 22:30, Batuhan Taskaya <isidenti...@gmail.com> a écrit :
>
> I've indexed a vast majority of the files from top 4K pypi packages to this 
> system, and here are the results about __version__ usage on argparse, cgi, 
> csv, decimal, imaplib, ipaddress, optparse, pickle, platform, re, smtpd, 
> socketserver, tabnanny (result of an quick grep)
>
>
> rawdata/clean/argparse/setup.py
>
> argparse.__version__
>
> rawdata/pypi/junitparser-1.4.1/bin/junitparser
>
> argparse.__version__
>
> rawdata/pypi/interpret_community-0.15.1/interpret_community/mlflow/mlflow.py
>
> pickle.__version__
>
> The pickle in the last example looks like a result of import cloudpickle as 
> pickle, so we are safe to eliminate that.
>
> Here is the query if you want to try by yourself on different parameters: 
> https://search.tree.science/?query=Attribute%28Name%28%27argparse%27%7C%27cgi%27%7C%27csv%27%7C%27decimal%27%7C%27imaplib%27%7C%27ipaddress%27%7C%27optparse%27%7C%27platform%27%7C%27pickle%27%7C%27re%27%7C%27smtpd%27%7C%27socketserver%27%7C%27tabnanny%27%29%2C+%22__version__%22%29
> On 14.10.2020 21:23, Neil Schemenauer wrote:
>
> On 2020-10-14, Serhiy Storchaka wrote:
>
> I propose to remove __version__ in all stdlib modules. Are there any
> exceptions?
>
> I agree that these kinds of meta attributes are not useful and it
> would be nice to clean them up.  However, IMHO, maybe the cleanup is
> not worth breaking Python programs.  We could remove them from the
> documentation, add comments (or deprecation warnings) telling people
> not to use them.
>
> I think it would be okay to remove them if we could show that the
> top N PyPI packages don't use these attributes or at least very few
> of them do.  As someone who regularly tests alpha releases, I've
> found it quite painful to do since nearly every release is breaking
> 3rd party packages that my code depends on.  I feel we should try
> hard to avoid breaking things unless there is a strong reason and
> there is no easy way to provide backwards compatibility.
> _______________________________________________
> Python-Dev mailing list -- python-dev@python.org
> To unsubscribe send an email to python-dev-le...@python.org
> https://mail.python.org/mailman3/lists/python-dev.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-dev@python.org/message/MI2SLQCZIKBRFX7HCUB7G4B64MTZ6XVC/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
> _______________________________________________
> Python-Dev mailing list -- python-dev@python.org
> To unsubscribe send an email to python-dev-le...@python.org
> https://mail.python.org/mailman3/lists/python-dev.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-dev@python.org/message/MSQTTUZOW6KSECSZE5XH65LANGII2P5F/
> Code of Conduct: http://python.org/psf/codeofconduct/



-- 
Night gathers, and now my watch begins. It shall not end until my death.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/WTTUGC7RQZLV6XQPVQAV4RVELNLAIATM/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to