Build a REST API with Falcon (Python)
Synopsis
I hope this guide help guys who gonna start coding in Python and implementing REST API
Assumptions
I understand you have a clear idea about REST is and python installed onto your environment and you have a real os (not windows)
Motivation
Introducing into a new programming language to me: Python
Learning basic concepts and best practices in Python coding
Setting up the environment
In order to get and environment ready to start coding we’ll follow the below steps:
1. Creating a project directory for this development
mkdir -p /Users/Ivan/Sandbox/WesoviLabs/falcon-rest-api cd /Users/Ivan/Sandbox/WesoviLabs/falcon-rest-api
2. Setting up a Virtual environment
We can skip next step in case of virtualenv is already installed.
pip install virtualenv
We could use the next virtualenvironment for ent developments
virtualenv my-restapi-virtualenv
We activate the virtualenv
source my-restapi-virtualenv/bin/activate
2. Installing required libraries
The falcon librrary
pip install falcon
Gunicorn is a python WSGI server, more info here
pip install gunicorn
Cython will make our application fly!, PyPy would be even better but unfortunately Falcon is currently only compatible with PyPy 2.7
pip install --upgrade cython falcon
Creating a very basic application
We will create the app.py. In order to run the application we can do it just by the below command
gunicorn app:api
Now we can open another temrinal and test the service by running
curl http://127.0.0.1:8000/books/ -i
Code
Code can be found on Github, click here to download it
In a few days I will be publishing a more detailed project developed with Falcon