Asphalt: A Framework For Asynchronous Network Applications with Alex Grönholm

The Python Podcast.__init__

Episode | Podcast

Date: Sat, 02 Dec 2017 22:00:00 -0500

<h3>Summary</h3> <p>As we rely more on small, distributed processes for building our applications, being able to take advantage of asynchronous I/O is increasingly important for performance. This week Alex Grönholm explains how the Asphalt Framework was created to make it easier to build these network oriented software stacks and the technical challenges that he faced in the process.</p> <h3>Preface</h3> <ul> <li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li> <li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&amp;utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li> <li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&amp;utm_medium=rss">podastinit.com/linode</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters.</li> <li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&amp;utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li> <li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&amp;utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at <a href="https://twtiter.com/podcastinit?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li> <li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li> <li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Alex Grönholm about the Asphalt Framework, a Python microframework for network oriented applications</li> </ul> <h3>Interview</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>What is Asphalt and what was your reason for building it?</li> <li>How does Asphalt compare to Twisted?</li> <li>What are the most challenging parts of writing asynchronous and event-based applications and how does Asphalt help simplify that process?</li> <li>When building an Asphalt application it can be easy to accidentally block an async loop by pulling in third party libraries that don&#8217;t support asynchronous execution. What are some of the techniques for identifying and resolving blocking portions of your application?</li> <li>What does the internal architecture of Asphalt look like and how has that evolved from when you first started working on it?</li> <li>What have been some of the most difficult aspects of building and evolving Asphalt?</li> <li>What are some of the most interesting or unexpected uses of Asphalt that you have seen?</li> <li>What are some of the new features or improvements that you have planned for the future of Asphalt?</li> </ul> <h3>Keep In Touch</h3> <ul> <li><a href="https://gitter.im/asphalt-framework/Lobby?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Gitter</a></li> <li><a href="https://webchat.freenode.net/?channels=#asphalt&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">IRC</a></li> <li><a href="https://github.com/asphalt-framework?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">GitHub</a></li> <li><a href="https://github.com/agronholm?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">agronholm</a> on GitHub</li> <li><a href="https://twitter.com/agronholm?lang=en&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">@agronholm</a> on Twitter</li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="http://www.imdb.com/title/tt3501632/?ref_=nv_sr_1&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Thor: Ragnarok</a></li> </ul> </li> <li>Alex <ul> <li><a href="http://www.twostepsfromhell.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Two Steps From Hell</a></li> </ul> </li> </ul> <h3>Links</h3> <ul> <li><a href="http://asphalt.readthedocs.io/en/latest/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Asphalt</a></li> <li><a href="https://en.wikipedia.org/wiki/Enterprise_resource_planning?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">ERP</a></li> <li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Asyncio</a></li> <li><a href="http://www.tornadoweb.org/en/stable/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Tornado</a></li> <li><a href="https://twistedmatrix.com/trac/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Twisted</a></li> <li><a href="http://www.sqlalchemy.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">SQLAlchemy</a></li> <li><a href="https://www.python.org/dev/peps/pep-0550/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">PEP 550</a></li> <li><a href="https://github.com/channelcat/sanic?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Sanic</a></li> <li><a href="http://wamp-proto.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">WAMP</a></li> <li><a href="https://www.pythonpodcast.com/episode-101-crossbar-io-with-tobias-oberstein-and-alexander-goedde/?utm_source=rss&amp;utm_medium=rss">Podcast.<strong>init</strong> Interview About Crossbar</a></li> <li><a href="http://man7.org/linux/man-pages/man1/tee.1.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Tee</a></li> <li><a href="https://flexget.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">FlexGet</a></li> <li><a href="http://apscheduler.readthedocs.io/en/latest/index.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">APScheduler</a></li> <li><a href="https://en.wikipedia.org/wiki/BitTorrent?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">BitTorrent</a></li> <li><a href="https://github.com/MagicStack/uvloop?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">uvloop</a></li> <li><a href="https://github.com/tokio-rs/tokio?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Tokio</a></li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a><img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fasphalt-framework-with-alex-gronholm-episode-138%2F&amp;action_name=Asphalt%3A+A+Framework+For+Asynchronous+Network+Applications+with+Alex+Gr%C3%B6nholm+-+Episode+138&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>