RESTful and HTTP APIs in Pyramid

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

Let me say that your courses are tremendous and I am a huge fan. I had tried a few different online learning platforms (edx, datacamp), so when I found your Python Jumpstart, I decided to finally give a paid course a try. Your courses strike an excellent balance between hand-holding and DIY, and they suit my learning style perfectly. [...] I'm a lifetime customer. Thank you for the great content, I appreciate the work you're doing.
-- Josh

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

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. On 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 of 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. With Python 2 going unsupported in 2020, we believe that it would be ill-advised to teach or learn Python 2.

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 the bundle, save 50% Give as a gift

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