Morepath is a micro web framework with a model-driven approach to creating web applications and web APIs.
Morepath's framework philosophy is that the data models should drive the creation via the web framework. By default the framework routes URLs directly to model code, unlike for example Django which requires explicit URL routing by the developer.
Simple CRUD web applications and APIs can be tedious to build when they are driven straight from data models without much logic between the model and the view. Learn more about how Morepath compares with other web frameworks from the creator.
With the rise of front end JavaScript frameworks, many Python web frameworks are first being used to build RESTful APIs that return JSON instead rendering HTML via a templating system. Morepath appears to have been created with the RESTful API model approach in mind and cuts out the assumption that templates will drive the user interface.
Morepath, with its first commit using the Morepath name in 2013, is a much newer web framework than Django, Flask or Pyramid, which results in fewer tutorials. There is also a lot of opportunity for newer Python developers to fill the gaps with their own Morepath tutorials. However, these resources below are a good place to get started.
On the Morepath is a blog post by Startifact on how they use Morepath and some of the features of the framework.
Build a better batching UI with Morepath and Jinja2 is an introductory post on building a simple web application with the framework. The code for the application is also open source and available on GitHub.
podcast.__init__ interviewed Martijn Faassen about Morepath and he described what makes the framework different from other existing web frameworks as well as why someone should be convinced to switch for a new project.
Morepath's creator gave a great talk on the motivation and structure for the new framework at EuroPython 2014.
Is Morepath Fast Yet? includes some benchmarks and discusses performance implications of using a Python-based web framework for your web application.
The
Morepath-cookiecutter
project handles project creation templates using
Cookiecutter and
recommended file structure from the Morepath documentation.