Skip to main content

Converts protobuf generated messages to Python friendly schematics models.

Project description

Making Protobuf messages as cute as Python.


Protobuf and gRPC are great when it comes to high performance schema aware APIs, but when Google designed Protobuf, it didn’t tried to make the generated code idiomatic in Python, which brings a problem when exporting messages outside iterface modules.

Schematics is a cute and pythonic schema library. Why not join both?


Using pip:

pip install proto_schamatics


Inspecting a module is as simple as:

from proto_schematics import ProtobufModule

models = ProtobufModule('my_protobuf_lib').import_schema()
MySchamticsModel = models['ProtobufMessageName']

You can also do it on a lazy lint unfriendly way:

from proto_schematics import ProtobufModule

from protobuf_schematics import ProtobufMessageName as MySchematicsModel


  • Datetimes as native Python
  • Duration as TimeDeltas
  • Wrappers as native nullable types

Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
proto_schematics-0.1.0.tar.gz (4.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page