Jonathan Slenders Talks About Prompt Toolkit

The Python Podcast.__init__

Episode | Podcast

Date: Tue, 19 May 2015 09:00:00 -0400

<p>Visit our site at <a href="http://www.pythonpodcast.com?utm_source=rss&amp;utm_medium=rss">podcastinit.com</a> for more show notes and news.</p> <h1>Brief Introduction</h1> <ul> <li>Date of recording &#8211; May 17th, 2015</li> <li>Hosts &#8211; Tobias Macey and Chris Patti</li> <li>Follow us on iTunes, Stitcher or TuneIn</li> <li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li> <li>Overview &#8211; Interview with Jonathan Slenders<br /> <h1>Interview with Jonathan Slenders</h1> </li> <li>Introductions</li> <li>How were you first introduced to Python? -Chris</li> <li>What inspired you to create the python-prompt-toolkit?</li> <li>What are some design considerations that you made when building prompt-toolkit? <ul> <li>Make minimal use of inheritance <ul> <li>Overly strong coupling</li> <li>Better clarity for the API of your library</li> <li>Completely event driven / asynchronous</li> <li>No global state</li> </ul> </li> <li>ptpython completion benefits from asynchrony &#8211; The jedi completion library is too slow &#8211; completion happens in its own thread</li> </ul> </li> <li>You have built a number of projects that use the prompt-toolkit as a core component, did you have them in mind from the beginning, or are they experiments to test the capabilities of the toolkit? <ul> <li>tmux rewrite in Python, abandoned, original motivation for prompt-toolkit</li> <li><a href="https://github.com/jonathanslenders/ptpython?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">ptpython</a></li> <li><a href="https://github.com/dbcli/pgcli?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">pgcli</a></li> <li><a href="https://github.com/jonathanslenders/ptpdb?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">ptpdb</a></li> <li><a href="https://github.com/jonathanslenders/pyvim?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">pyvim</a></li> </ul> </li> <li>Do you intend to bring PyVim to feature parity with Vim, or is it just intended for experimentation? <ul> <li>Short answer: Don’t know &#8211; but will probably never be in full parity with Vim</li> </ul> </li> <li>What inspired you to create ptpython and why did you choose to make it a stand-along project rather than extending iPython?</li> <li>How difficult was it to integrate with IPython and what were the benefits? <ul> <li>IPython has its own event loop &#8211; this presented difficulties as prompt-toolkit has its own as well</li> </ul> </li> <li>What are some of the most interesting uses that you have seen of the prompt-toolkit? <ul> <li>PyVim &#8211; really challenged the design</li> <li>pgcli<br /> <h1>Picks</h1> </li> </ul> </li> <li>Tobias <ul> <li><a href="https://github.com/gabesullice/vimsert?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">vimsert</a></li> <li><a href="http://www.thejohnnycashproject.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Johnny Cash Project</a></li> <li><a href="http://www.imdb.com/title/tt0816692/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Interstellar</a></li> </ul> </li> <li>Chris <ul> <li><a href="http://grimmales.com/telekinesis/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Grimm Telekinesis</a></li> <li><a href="http://pandoc.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">pandoc</a></li> <li><a href="https://github.com/rkitover/vimpager?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">vimpager</a></li> <li><a href="https://github.com/caskroom/homebrew-cask?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Homebrew Cask</a></li> </ul> </li> <li>Jonathan Slenders <ul> <li>Belgian Beer <ul> <li>Rochefort</li> </ul> </li> <li>Western European Folk Dancing<br /> <h1>Keep in touch</h1> </li> </ul> </li> <li>Twitter &#8211; <a href="https://twitter.com/jonathan_s?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">@jonathans</a></li> <li>GitHub &#8211; <a href="https://github.com/jonathanslenders?utmsource=rss&amp;utmmedium=rss" rel="noopener" target="blank">jonathanslenders</a></li> </ul> <p><img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-6-jonathan-slenders-talks-about-prompt-toolkit%2F&amp;action_name=Jonathan+Slenders+Talks+About+Prompt+Toolkit+-+Episode+6&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&amp;utm_source=rss&amp;utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" /></p>