Python on the Backend

Learn python back end development, build a website or APIs in Python, designed for students with Mac or Windows
Rating: 4.4 out of 5 (511 ratings)
24,200 students
Python on the Backend
Rating: 4.4 out of 5 (514 ratings)
24,200 students
Build cool web applications and APIs for other clients to consume
Learn how to serve a basic website with Python as the back end
Turn your existing Python libraries into web APIs to be consumed by other developers with other languages
Install, use and deploy Jupyter Notebooks
Learn how to Implement Load Balancing for your Backend Python services
Learn Backend Database programming with Python and PostgresSQL: connect, query, write and commit transactions.


  • Able to understand basic programming principles

Do you know Python and want to take it to the next level? How about writing a website in Python, or an API so your fellow developers can consume in JSON over simple HTTP. With the boom of microservices and API, developers who are used to working with Python writing scripts can now take their knowledge to the backend. This course will teach you the basic of web servers, how to setup the Python Web server and write interesting cool applications on the backend. By the end of the course you will be read to take on the world and write your own services and APIs, read and write from databases, do sophisticated load balancing on your Python services, work with Jupyter notebooks and much much more!

Who this course is for:
  • Beginner Python developers interested in building HTTP web APIs in Python
  • Experienced Python developers who want to expose their Python libraries as a web service for other developers
  • Data scientists who want to do heavy computational workload on the backend using vanilla Python or Jupyter notebooks
  • Developers who want to use Python to build APIs that write to a backend database
Course content
9 sections • 26 lectures • 2h 58m total length
  • Why Back-end Development?
  • Course Outline
  • Setup Python3 on Mac
  • Installing Tornado the Python HTTP Web Server on Mac
  • Installing Visual Studio Code and Python Extension on Mac
  • Setup Python3 on Windows
  • Installing Tornado the Python HTTP Web Server on Windows
  • Installing Visual Studio Code and Python Extension on Windows
  • HTTP Protocol
  • Building a simple GET HTTP method end point in Python
  • Serving a simple HTML file from Python Web Server (Index.html)
  • Query Parameter vs Resource Parameter
  • Building a GET end point with a query string parameter
  • Building a GET end point with resource parameters
  • Building a JSON GET endpoint that reads from a text file on the backend
  • Building a JSON POST endpoint that writes to a text file on the backend
  • Consuming the GET and POST API from Javascript/HTML
  • Building an Image Upload Service with Python
  • Spin three instances of tornado running on 3 different ports
    1 question
  • What is Jupyter nootbook?
  • Installing Jupyter Notebook on Mac
  • Installing Jupyter Notebook on Windows
  • Installing Jupyter Notebook on Docker
  • Working with Jupyter Notebook (Twitter example)
  • Load Balancing Python services with nginx
  • Spinning Postgres Instance with Docker
  • Database programming with Python

Software Engineer, Author
Hussein Nasser
  • 4.4 Instructor Rating
  • 1,185 Reviews
  • 43,936 Students
  • 8 Courses

My name is Hussein and I’m a software engineer. Ever since my uncle gave me my first programming book in 1998 (Learn programming with Visual Basic 2) I discovered that software is my passion. I started my blog, and YouTube channel as an outlet to talk about software.

I specialize in the field of geographic information systems (or GIS). I helped many organizations in different countries implement GIS technology and designed, developed apps to fit their use cases and streamline their workflows since 2005. I wrote five books on Esri ArcGIS technology and I've been an engineer at Esri building cool GIS technologies since 2015.

Between my Software Engineering YouTube channel and Podcast, I have made over 500 hundred pieces of content on different topics of software engineering ranging from proxies, security, networking, and programming. I also discuss recent software news and current events on software.

Using software to solve interesting problems is one of the fascinating things I really enjoy. Feel free to contact me on my social media channels to tell your software story, ask questions or share interesting problems. I would love to hear it!