Learn about serialization formats such as JSON and msgpack, how to work with each format, and how to pick the right one for your Python project.
Overview
Syllabus
Introduction
- Serialization with Python
- What you should know
- Accessing the exercise files on GitHub
- Use Codespaces for this course
- Why do we need serialization?
- Picking a serialization format
- General serialization rules
- Serialization formats overview
- Marshal and pickle serialization
- Serialization with repr
- Using eval and exec for serialization
- Challenge: repr and read pickle
- Solution: repr and read pickle
- Basic JSON serialization
- Serializing custom types to JSON
- Streaming JSON
- Challenge: Convert log records to JSON
- Solution: Convert log records to JSON
- Protocol buffers overview
- Writing the definition file
- Generating serializers
- Using protocol buffers
- gRPC
- Challenge: Trade objects size
- Solution: Trade objects size
- msgpack serialization
- YAML serialization
- XML serialization
- SQL
- TOML
- Challenge: ETL from XML to database
- Solution: ETL from XML to database
- What's Unicode?
- str and Bytes
- Normalization
- Case-insensitive comparison
- Detect encoding
- Challenge: Counting strings
- Solution: Counting strings
- Next steps
Taught by
Miki Tebeka