-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor: remove betterproto
dep
#1049
Comments
Not immediately useful, but saving this here so I don't forget it: https://github.com/criccomini/proto-schema-parser |
I wanted to report that betterproto 2.0.0b7 was released in August (and that sigstore fails tests against it), but given this issue, is there a point? |
That is indeed good to know! We're still planning on dropping our dependency on it, but we should test against the latest in the mean time. I'll start a PR for that. Edit: It's technically a transitive dep via |
Thanks! It would really be appreciated, given that b6 is partially broken with modern pydantic (though I don't think it affects sigstore, but its reproduced with its own test suite). |
sigstore/protobuf-specs#404 has the bump, thanks again! I'll get a version of that package cut and then bump here once it's ready. |
Our dependency on
betterproto
is a source of a few issues:2.x
series, which is only in beta (currently2.0.0b6
). This is both non-ideal and is incompatible with some Python installers, most notablyuv
: https://github.com/astral-sh/uv/blob/main/PIP_COMPATIBILITY.md#pre-release-compatibilitybetterproto
's handling of theStruct
WKT is partially broken. I've tried to fix it, but round-tripping a JSON serialized message through aStruct
is still impossible, which causes all kinds of problems for the (mostly in-toto) definitions that useStruct
betterproto
, but results in development friction and impedance mismatches elsewhere that we have to paper overAs such, we should probably remove our dependency on
betterproto
in the medium term. There are a few blockers to doing this:Bundle
, etc. models all come fromprotobuf-specs
, which is currently built on top ofbetterproto
for the Python bindings.betterproto
-generated models in Sigstore's public APIs(1) is probably addressable either by re-modeling the relevant parts of
protobuf-specs
in pydantic, or by regenerating the Python bindings on top of the JSON Schema forprotobuf-specs
. (2) may require a major reversion.CC @DarkaMaul since he noticed this 🙂
The text was updated successfully, but these errors were encountered: