Masonite is the rapid application Python development framework that strives for beautiful and elegant syntax, actual batteries included with a lot of out of the box functionality, and extremely extendable. Masonite works hard to be fast and easy from install to deployment so developers can go from concept to creation in as quick and efficiently as possible. Try it once and you’ll fall in love.

Some Notable Features Shipped With Masonite

  • Easily send emails with the Mail Provider and the SMTP and Mailgun drivers

  • Send websocket requests from your server with the Broadcast Provider and Pusher and Ably drivers

  • IOC container and auto resolving dependency injection.

  • Extremely simple static files configured and ready to go

  • Create job classes to push to your queues

  • Active Record style ORM called Orator

  • An extremely useful command line tool called craft commands

These are all shipped out of the box and ready to go. Use what you need when you need it and forget what you don't.


In order to use Masonite, you’ll need:

  • Python 3.4+

  • Pip


If you are running on a Linux flavor, you’ll need a few extra packages. You can download these packages by running:

$ sudo apt-get install libmysqlclient-dev python-dev

Or you may need to specify your python version

$ sudo apt-get install python3.6-dev


Masonite works at being simple to install and get going. We use a simple command line that will become your best friend. You’ll never want to develop again without it. We call it the craft command line tool.

We can download our craft command line tool by just running:

$ pip install masonite-cli

You may have to use sudo if you are on a UNIX machine

Great! We are now ready to create our first project. We should have the new craft command. We can check this by running:

$ craft

This should show a list of command options. We are currently only interested in the craft new command. To create a new project just run:

$ craft new project_name
$ cd project_name

This will get the latest Masonite project template and unzip it for you. We just need to go into our new project directory and install the dependencies in our requirements.txt file.

You can optionally create a virtual environment if you don't want to install all of masonite's dependencies on your systems Python. If you use virtual environments then create your virtual environment by running:

$ python -m venv venv
$ source venv/bin/activate

Now lets install our dependencies. We can do this simply by using a craft command:

$ craft install

Let this install all the required dependencies of Masonite. After it’s done we can just run the server by using another craft command:

$ craft serve

Congratulations! You’ve setup your first Masonite project! Keep going to learn more about how to use Masonite to build your applications.

Last updated