<div dir="ltr"><div>Call me a fool, but in the vein of the finest of half baked ideas, I present to you an idea that hasn't even decided on the shape of the tin yet.</div><div><br></div><div>Using a pseudo random selection of ideas set out in various forums</div><div><br></div><div>* python-dev</div><div>* distutils-sig</div><div>* python-ideas</div><div>* import-sig</div><div><br></div><div>I present to you, in the linked PDF, a possible Python future.</div><div><br></div><div>    Python 3.9.9 - The 'I Have A Dream' Version</div><div><br></div><div><a href="http://www.sffjunkie.co.uk/files/misc/Python%203.9.9.pdf">http://www.sffjunkie.co.uk/files/misc/Python%203.9.9.pdf</a></div><div><a href="http://www.sffjunkie.co.uk/files/misc/Python%203.9.9.xmind">http://www.sffjunkie.co.uk/files/misc/Python%203.9.9.xmind</a></div><div><br></div><div>my ongoing thought experiment on a Python future I would like to see. Because, is it not written</div><div><br></div><div>    If you don't know where you're going, how will you know when you get there.</div><div><br></div><div>Whether an infinite number of monkeys could shape this into reality may never be put to the test, but it's a start.</div><div>Or it may not be. Or it may be a start and the end. The future's as tricksy as hobbitses sometimes.</div><div><br></div><div>Highlights include</div><div><br></div><div>* Python The</div><div>  - Executable</div><div>  - Language</div><div>  - Library</div><div>  - Tools</div><div>  - Ecosystem</div><div><br></div><div>* Removing the notion of 'virtual' environments. Everything's just an environment.</div><div><br></div><div>* Splitting the standard library in twain. stdlib = 'baselib' + 'extlib'.</div><div>  - baselib = Enough to start up a Python environment / install pip.</div><div>  - extlib = The rest of the current stdlib. Changes more frequently than the baselib.</div><div><br></div><div>* A new tool called pippin to manage the extlib</div><div><br></div><div>* Formalising what a package index is</div><div><br></div><div>* Addressing a Python project's lifecycle.</div><div><br></div><div>* Configuration handling</div><div><br></div><div>* Removing the use of 'lib' suffixes from almost all packages.</div><div><br></div><div>* Claiming any name in PyPi starting with 'py'</div><div><br></div><div>And more.</div><div><br></div><div>I have aimed for</div><div><br></div><div>* Separation of concerns</div><div>* Consistency in naming of tool commands and options.</div><div><br></div><div>Your thoughts are welcome.</div><div><br></div><div>Next steps are</div><div><br></div><div>* Add all relevant PEPs - both proposed and accepted.</div><div>* Add all modules to either baselib, extlib or deletelib</div><div>* Firm up stdlib / environment / config file locations (system / user, Windows / Linux / OSX)</div><div>* Create outline of pip / twine code to see what can be put into external packages for re-use / removal from pip.</div><div>* Create a filesystem structure for projects and configuration files / cookiecutter templates to achieve this.</div><div>* Enhance definition of tools and propose code structures.</div><div><br></div></div>