gRPC in Python
41mIntermediate2022-06-21
Authors

Miki Tebeka
CEO at 353Solutions
Course details
gRPC allows clients and server applications to communicate more efficiently on a connected system. Knowing how to use gRPC can come in handy if you’re programming in a language like Python. In this course designed uniquely for Python developers, instructor Miki Tebeka shows you the essentials of gRPC so you can get started with this easy-to-use tool.
Get a brief introduction to gRPC and the working parts of its ecosystem: protocol buffers, HTTP/2-based transport, .proto files, enumerations, nested types, and JSON encoding. Learn how to run the gRPC server, create a gRPC client, define a streaming end point to send data to the client, and handle streaming responses from the server. Along the way, Miki gives you tips on using tools like interceptors and gRPC Gateway.
Get a brief introduction to gRPC and the working parts of its ecosystem: protocol buffers, HTTP/2-based transport, .proto files, enumerations, nested types, and JSON encoding. Learn how to run the gRPC server, create a gRPC client, define a streaming end point to send data to the client, and handle streaming responses from the server. Along the way, Miki gives you tips on using tools like interceptors and gRPC Gateway.
Skills covered
gRPCSoftware ArchitecturePythonProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Why gRPC
- 02 - What you should know
- 03 - Setting up
1. gRPC Overview
- 04 - RPC in general
- 05 - Protocol buffers
- 06 - HTTP 2
- 07 - gRPC ecosystem
2. Protocol Buffers
- 08 - Writing .proto files
- 09 - Compiling .proto to Python
- 10 - Using generated code
- 11 - Enumerations
- 12 - Nested types
- 13 - Working with time
- 14 - JSON encoding
3. gRPC Server
- 15 - Defining the service
- 16 - Generating Python code
- 17 - Running the server
- 18 - Adding reflection
- 19 - Using grpcurl to call your server
- 20 - Setting errors
4. gRPC Client
- 21 - Creating a client
- 22 - Generating a request
- 23 - Calling the server
- 24 - Timeouts
5. Streaming
- 25 - Streaming overview
- 26 - Defining a streaming end point
- 27 - Streaming server handler
- 28 - Streaming client
6. Advanced Topics
- 29 - Writing interceptors
- 30 - Using HTTPS
- 31 - Sharing .proto definitions
- 32 - Testing your code
- 33 - Using gRPC-Gateway
Conclusion
- 34 - Next steps