Skip to main content

Making Protobuf messages as cute as Python.

Motivation

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?

Installing

Using pip:

pip install proto_schamatics

Examples

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
ProtobufModule('my_protobuf_lib').meta_import()

from protobuf_schematics import ProtobufMessageName as MySchematicsModel

Supports

  • Datetimes as native Python

  • Duration as TimeDeltas

  • Wrappers as native nullable types

Release files for proto-schematics 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for proto-schematics 0.1.0
File Size Uploaded
proto_schematics-0.1.0.tar.gz 4.1 kB Details

Release files / proto_schematics-0.1.0.tar.gz

Download URL proto_schematics-0.1.0.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5c8c7aaabc5a941584676ecef3fb78077fe321eb57ff60b0a8b4490998e90b2f
BLAKE2b-256 checksum
How to use checksums
af57a277e8f15202eb33d744a764a3cc6da0b55c0e0bfc2adedb474f516e612c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page