RESTful APIs with the Pyramid Web Framework Course
Course Summary
What students are saying
Source code and course GitHub repository
github.com/mikeckennedy/restful-services-in-pyramidWhat'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.
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.
Who am I? Why should you take my course?
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.