Add support for map value message types
Better Protobuf / gRPC Support for Python
This project aims to provide an improved experience when using Protobuf / gRPC in a modern Python environment by making use of modern language features and generating readable, understandable code. It will not support legacy features or environments. The following are supported:
- Protobuf 3 & gRPC code generation
- Both binary & JSON serialization is built-in
- Python 3.7+
- Enums
- Dataclasses
async
/await
- Relative imports
- Mypy type checking
This project is heavily inspired by, and borrows functionality from:
TODO
- Fixed length fields
- Packed fixed-length
- Zig-zag signed fields (sint32, sint64)
- Don't encode zero values for nested types
- Enums
- Repeated message fields
- Maps
- Maps of message fields
- Support passthrough of unknown fields
- Refs to nested types
- Imports in proto files
- Well-known Google types
- JSON that isn't completely naive.
- Async service stubs
- Python package
- Cleanup!
Description
Languages
Python
95.2%
Jinja
3.1%
Java
1.7%