Book Image

Python API Development Fundamentals

By : Jack Chan, Ray Chung, Jack Huang
Book Image

Python API Development Fundamentals

By: Jack Chan, Ray Chung, Jack Huang

Overview of this book

Python is a flexible language that can be used for much more than just script development. By knowing the Python RESTful APIs work, you can build a powerful backend for web applications and mobile applications using Python. You'll take your first steps by building a simple API and learning how the frontend web interface can communicate with the backend. You'll also learn how to serialize and deserialize objects using the marshmallow library. Then, you'll learn how to authenticate and authorize users using Flask-JWT. You'll also learn how to enhance your APIs by adding useful features, such as email, image upload, searching, and pagination. You'll wrap up the whole book by deploying your APIs to the cloud. By the end of this book, you'll have the confidence and skill to leverage the power of RESTful APIs and Python to build efficient web applications.
Table of Contents (12 chapters)

Heroku Add-Ons

Heroku has a rich add-ons library. Add-ons are like plugins, which provide tools and services for developing, extending, and operating your apps, including data stores, monitoring, logging, analytics, and security. For our Smilecook application, we will use Heroku Postgres from Heroku, which is a reliable and powerful database as a service based on PostgreSQL. The starter tier is free and offers a 10,000-row limit and provides an expected uptime of 99.5%. This is suitable for developing hobby applications.

Exercise 66: Installing Heroku Postgres

In this exercise, we will install Heroku Postgres. It is more convenient to install Postgres from Heroku, compared to installing it from the Postgres official website. We only need to go to the Data Stores category in Heroku add-ons and then select Heroku Postgres directly to install. Heroku provides a backend management interface so that we can see the database status at a glance:

  1. Switch to the Resources tab in...