Morepath with Martijn Faassen - Episode 91

January 7, 2017

Summary

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.

Do you want to try out some of the tools and applications that you heard about on Podcast.__init__? Do you have a side project that you want to share with the world? Check out Linode at linode.com/podcastinit or use the code podcastinit2019 and get a $20 credit to try out their fast and reliable Linux virtual servers. They’ve got lightning fast networking and SSD servers with plenty of power and storage to run whatever you want to experiment on.

Brief Introduction

Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.

I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.

When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.

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 rollbar.com/podcastinit to get 90 days and 300,000 errors for free on their bootstrap plan.

Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.

To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers

Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.

Interview with Martijn Faassen

What is Morepath and what problem were you trying to solve when you created it?

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?

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?

What does the internal architecture for Morepath look like and what are some of the challenges that you have faced while building it?

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?

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?

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?

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?

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?

What are some of the most interesting or unexpected uses of Morepath that you have seen?