<div dir="ltr"><div>As the maintainer of Genshi, one the libraries affected by the CodeType and similar changes, I thought I could add a users perspective to the discussion:</div><div><br></div><div>Genshi is a templating engine that parses Python code from inside its templates. It supports Python 2.6+, 3.2+, pypy2 and pypy3. It parses Python using compile(...) and then walks the AST to, for example, translate variable lookups into template context lookups.<br></div><div><br></div><div>Pretty much every major release of Python has broken Genshi's Python parsing in some way. While on the one hand this is a bit annoying, I also don't want Python to stop evolving where it makes sense.</div><div><br></div><div>My requests to core developers are largely pragmatic:</div><div><br></div><div>* Try not to change things unless there's a good reason to (i.e. it makes Python better).</div><div>* Don't try declare that these things shouldn't be used (there is not much I can do about that now).</div><div>* Do warn people that these things evolve with the language.<br></div><div>* If changes do happen, try make them visible and give a clear description of what has changed.</div><div><br></div><div>Also many thanks to the core developers who've submitted patches to update Genshi in the past -- that was awesome of you.</div><div><br></div><div>The new CodeType.replace will remove some potential sources of breakages in the future, so thank you very much for adding that. <br></div><div><br></div><div>Schiavo</div><div>Simon<br></div></div>