<div dir="ltr">I use typing quite systematically nowadays, even for projects that don't use mypy (for historical reasons: bringing an older code base to zero mypy issues can be quite time-consuming).<div><br></div><div>For instance, adding typing annotation can help autocompletion under PyCharm (and hopefully other IDEs).</div><div><br></div><div>With these annotations, PyCharm is also able to signal typing issues either directly in the editor, or when running a code check.</div><div><br></div><div>I'm quite OK with removing the typing module from the stdlib as it can easily be added to my projects dependencies, and I can definitively understand the benefits of a faster release cycle, but I'm worried that this could hinder adoption of these practices by certain people.</div><div><br></div><div> S.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 3, 2017 at 3:35 PM, Guido van Rossum <span dir="ltr"><<a href="mailto:guido@python.org" target="_blank">guido@python.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">[A copy from <a href="https://github.com/python/typing/issues/495" target="_blank">https://github.com/python/<wbr>typing/issues/495</a> to get more people's attention to this issue.]<br><p>I'm wondering if we should remove <code>typing</code> from the stdlib. Now's the time to think about this, as the feature freeze for 3.7 is about 12 weeks away.</p>
<p>Cons:</p>
<ul><li>People have to depend on a PyPI package to use typing (but they do anyway for <code>typing_extensions</code>)</li><li>It's a backward incompatibility for users of Python 3.5 and 3.6 (but the <code>typing</code> module was always provisional)</li></ul>
<p>Pros:</p>
<ul><li>The <code>typing</code> module can evolve much faster outside the stdlib</li><li>We could get rid of <code>typing_extensions</code> (and maybe even <code>mypy_extensions</code>)</li></ul>
<p>If we don't do this I worry that we're entering a period where many new typesystem features end up in <code>typing_extensions</code> and users will be confused about which items are in <code>typing</code> and which in <code>typing_extensions</code> (not to mention <code>mypy_extensions</code>). Anything new to be added to typing (e.g. <code>Const</code>, <code>Final</code>, <code>Literal</code>, or changing ABCs to Protocols) would have to be added to <code>typing_extensions</code> instead, and users would be confused about which features exist in which module. Moving <code>typing</code> out of the stdlib can make things potentially simpler, at the cost of an extra <code>pip install</code> (but they'll need one anyway for <code>mypy</code>).</p>
<p>Thoughts?</p><span class="HOEnZb"><font color="#888888"><br>-- <br><div class="m_7388567599441940909gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</font></span></div>
<br>______________________________<wbr>_________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer" target="_blank">http://python.org/psf/<wbr>codeofconduct/</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Stefane Fermigier - <a href="http://fermigier.com/" target="_blank">http://fermigier.com/</a> - <a href="http://twitter.com/sfermigier" target="_blank">http://twitter.com/sfermigier</a> - <a href="http://linkedin.com/in/sfermigier" target="_blank">http://linkedin.com/in/sfermigier</a><br>Founder & CEO, Abilian - Enterprise Social Software - <a href="http://www.abilian.com/" target="_blank">http://www.abilian.com/</a><br>Chairman, Free&OSS Group / Systematic Cluster - <a href="http://www.gt-logiciel-libre.org/" target="_blank">http://www.gt-logiciel-libre.org/</a><br>Co-Chairman, National Council for Free & Open Source Software (CNLL) - <a href="http://cnll.fr/" target="_blank">http://cnll.fr/</a><div>Founder & Organiser, PyData Paris - <a href="http://pydata.fr/" target="_blank">http://pydata.fr/</a><br></div><div>---</div><div><div>“You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete.” <span style="font-size:12.8px">— R. Buckminster Fuller</span></div></div><div><br><br></div></div></div></div></div></div></div></div>
</div>