RESTful and HTTP APIs in Pyramid Course

This course is carbon neutral.

Course Summary

Whether you're adding an API to an existing web application, creating a new API for a JavaScript heavy client-side app, or even building a backend service for a mobile app, this course will show you how to build RESTful services using Pyramid and integrate with a real database over SQLAlchemy.

What students are saying

Thanks for your podcasts and courses. It’s all been very helpful. Just wanted to let you know that I got a job with a startup. Looking forward to working with Python and even doing some ML. Very exciting stuff. Keep up the great work!
-- Pat

Source code and course GitHub repository

github.com/mikeckennedy/restful-services-in-pyramid

What's this course about and how is it different?

This course will teach you how to build RESTful and HTTP-based services in Python using the Pyramid web framework.

Yes, you will learn the necessary programming techniques. But we will go much deeper than just stringing together some methods in your web framework. In this course, you will

  • Compare RESTful services to other services such as SOAP and sockets
  • Fully understand how to leverage HTTP verbs, status codes, content types, and URLs to properly design and deliver RESTful services
  • Add JSON, CSV, image, and other response types to services
  • Explore and test your services using the Postman application
  • Add content negotiation to allow clients to select the best response type
  • Properly refactor your service code for maintainability using view models and more
  • Work with SQLAlchemy as the backend for your web services
  • Deploy your HTTP service for production behind NGINX and uWSGI

View the full course outline.

Who is this course for?

Anyone who knows Python and would like to use Python to create flexible and high performance RESTful or HTTP-based web services.

Whether you need a backend for your mobile app, rich JavaScript app, or want add an API to your existing Pyramid web application, this course will teach you the concepts as well as the programming techniques to implement them.

What will you learn in this course?

Some topics covered include.

  • Setting up Python 3, Postman, and PyCharm for local development
  • The concepts and principles of RESTful services
  • Key building blocks of the Pyramid web framework
  • Building a comprehensive service using HTTP verbs, status codes, content types, and more
  • Adding content negotiation to services
  • Enforce identity and authorization using API keys
  • How to call your service from Python and from JavaScript
  • Add CORS support for cross-site access
  • The basics of SQLAlchemy for backing our services with a database
  • How to add logging and production-time monitoring of errors
  • Deploying your service on Linux behind NGINX and uWSGI for a full production capable deployment

View the full course outline.

Concepts backed by concise visuals

While exploring a topic interactively with demos and live code is very engaging, it can lose the forest for the trees. That's why when we hit a new topic, we stop and discuss it with concise and clear visuals.

Here's an example for when we first introduce the use-cases of HTTP services.

Example: Concepts backed by concise visuals

Follow along with subtitles and transcripts

Each course comes with subtitles and full transcripts. The transcripts are available as a separate searchable page for each lecture. They also are available in course-wide search results to help you find just the right lecture.

Each course has subtitles available in the video player.

Who am I? Why should you take my course?

Who is Michael Kennedy?

My name is Michael, nice to meet you. ;) There are a couple of reasons I'm especially qualified to teach you Python.

 1. I'm the host of the #1 podcast on Python called Talk Python To Me. Over there, I've interviewed many of the leaders and creators in the Python community. I bring that perspective to all the courses I create.

 2. I've been a professional software trainer for over 10 years. I have taught literally thousands of professional developers in hundreds of courses throughout the world.

 3. Students have loved my courses. Here are just a few quotes from past students of mine.

"Michael is super knowledgeable, loves his craft, and he conveys it all well. I would highly recommend his training class anytime." - Robert F.
"Michael is simply an outstanding instructor." - Kevin R.
"Michael was an encyclopedia for the deep inner workings of Python. Very impressive." - Neal L.

Free office hours keep you from getting stuck

One of the challenges of self-paced online learning is getting stuck. It can be hard to get the help you need to get unstuck.

That's why at Talk Python Training, we offer live, online office hours. You drop in and join a group of fellow students to chat about your course progress and see solutions via screen sharing.

Just visit your account page to see the upcoming office hour schedule.

Is this course based on Python 3 or Python 2?

This course is based upon Python 3. Python 2 is officially unsupported as of January 1st, 2020 and we believe that it would be ill-advised to teach or learn Python 2. This course is, and has always been, built around Python 3.

The time to act is now

Go beyond just learning how to build RESTful services. Deeply understand them and build better services.

Course Outline: Chapters and Lectures

8:44
6:39
2:05
16:13
3:09
3:49
4:08
5:07
30:04
5:18
3:30
5:40
3:07
3:37
8:52
21:41
4:13
3:29
3:55
3:35
2:39
1:21
2:29
41:10
1:50
5:54
3:31
3:16
2:37
6:48
4:20
9:54
3:00
29:20
5:11
7:37
6:17
10:15
49:13
5:19
9:28
3:24
8:39
1:47
2:58
1:25
3:33
1:36
8:46
2:18
49:16
3:39
11:05
1:51
11:15
8:18
5:27
3:36
4:05
27:54
1:48
16:14
6:28
3:24
28:27
5:11
1:54
9:56
7:13
2:13
2:00
43:54
3:01
2:16
3:05
5:08
8:02
2:36
12:08
7:38
25:47
6:29
2:43
6:28
7:29
2:38
33:08
3:33
1:02
7:22
14:39
6:32
36:56
2:43
3:38
1:15
11:49
4:30
9:39
3:22
10:50
2:46
4:59
3:05
16:42
1:22
1:13
1:22
1:53
1:22
1:31
1:50
1:06
1:25
1:01
1:25
0:42
0:30
Buy for $59 + tax Bundle and save 84% Team Gift

Questions? Send us an email: contact@talkpython.fm

Talk Python's Mastodon Michael Kennedy's Mastodon