Python Protobuf Is Genuinely Broken, Someone Fixed It
A new library called protobuf-py, a Protobuf implementation for Python without Google's official tooling, got enthusiastic comments from people who have used Protobuf across multiple languages. The consensus: the official Python implementation is bad in a way that's hard to describe but immediately obvious when you use it across Go, Kotlin, Dart, and Python side by side.
One commenter who'd used Protobuf in all four languages called it 'totally unusable' and didn't know what 'black magic Google uses for the Python implementation.' Another flagged a reasonable concern: after the pain of migrating off gogoproto in Go, depending on a non-standard Protobuf implementation is a real risk.
This is a small but meaningful signal. When a foundational serialization library has a known-bad implementation in a major language and the community builds a replacement, it suggests Google's internal incentives aren't aligned with external Python users. That's a gap worth watching.
So what?
If you're using Protobuf in Python today, protobuf-py is worth evaluating, but read the gogoproto cautionary tale first. The migration cost of switching off a non-standard implementation later can be high. Get clarity on the library's long-term maintenance posture before adopting it in production.