Date: Sat, 07 Jan 2017 12:45:00 -0500
<h3>Summary</h3> <p>Python has a wide and growing variety of web frameworks to choose from, but if you want one with super powers then you need Morepath. This week Martijn Faassen shares the story of how Morepath was created, how it differentiates itself from the other available options, and how you can use it to power your next project.</p> <h3>Brief Introduction</h3> <ul> <li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li> <li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li> <li>When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li> <li>You’ll want to make sure that your users don’t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li> <li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li> <li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&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&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Google Play Music</a>, and tell your friends and co-workers</li> <li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li> <li>Your host as usual is Tobias Macey and today I’m interviewing Martijn Faassen about the Morepath web framework.</li> </ul> <h3>Interview with Martijn Faassen</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>What is Morepath and what problem were you trying to solve when you created it?</li> <li>The tag line for the Morepath project is that it’s a web microframework with superpowers. What is special or different about it that sets it apart from the other options in the Python ecosystem?</li> <li>It can be difficult to convince someone to migrate to a new framework, particularly if there is a lack of supporting ecosystem. What are some of the motivating factors for a developer to switch to Morepath if they already have experience with one of the more widely used frameworks?</li> <li>What does the internal architecture for Morepath look like and what are some of the challenges that you have faced while building it?</li> <li>One of the features is the automatic link generation for ensuring that you don’t end up with dead links. Is there any support for permalinks or redirects so that if you refactor your site people won’t end up at a path that no longer exists?</li> <li>In the documentation you make a number of references to the fact that Morepath is a routing based framework. Can you explain what you mean by that and how it differs from a traversal based framework?</li> <li>Part of the core elements of Morepath are your libraries Reg and Dectate. Can you describe each of them and explain some of how they came to be created?</li> <li>Morepath has a different conception of models than most frameworks that I’ve dealt with in that they aren’t necessarily associated with any form of database. Can you explain why that is and some of the patterns that it allows for?</li> <li>The method for extending and reusing applications built in Morepath is through subclassing the objects and overriding specific methods. What is it about this approach that you found to be more flexible than the alternatives exhibited by other frameworks?</li> <li>What are some of the most interesting or unexpected uses of Morepath that you have seen?</li> <li>What do you have planned for the future of Morepath?</li> </ul> <h3>Keep In Touch</h3> <ul> <li><a href="https://blog.startifact.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Blog</a></li> <li><a href="https://twitter.com/faassen?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Twitter</a></li> <li><a href="https://github.com/faassen?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">GitHub</a></li> <li><a href="mailto:faassen@startifact.com">Email</a></li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="http://www.imdb.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">IMDB</a></li> <li><a href="http://amzn.to/2iPHx8j?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Gyroscopes</a></li> </ul> </li> <li>Martijn <ul> <li><a href="http://www.kenandrobintalkaboutstuff.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Ken And Robin Talk About Stuff</a></li> <li><a href="https://en.wikipedia.org/wiki/Viili?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Viili</a></li> </ul> </li> </ul> <h3>Links</h3> <ul> <li><a href="http://www.13thagesrd.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">13th age</a></li> <li><a href="http://jsonapi.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">JSON API</a></li> <li><a href="http://json-ld.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">JSON-LD</a></li> <li><a href="http://www.hydra-cg.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Hydra (REST standard)</a></li> <li><a href="http://graphql.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">GraphQL</a></li> <li><a href="https://netflix.github.io/falcor/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Falcor</a></li> <li><a href="http://aiohttp.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">aiohttp</a></li> <li><a href="http://docs.zope.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Zope</a></li> <li><a href="https://trypyramid.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Pyramid</a></li> <li><a href="http://grok.zope.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Grok</a></li> <li><a href="https://github.com/OneGov?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">OneGov</a></li> <li><a href="https://blog.startifact.com/posts/my-exit-from-zope.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Martijn – My Exit From Zope</a></li> <li><a href="http://lxml.de/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">LXML</a></li> <li><a href="https://docs.python.org/3.6/library/xml.etree.elementtree.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Elementree</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&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&utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a><img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-91-morepath-with-martijn-faassen%2F&action_name=Morepath+with+Martijn+Faassen+-+Episode+91&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" /></p>