danielgtaylor / python-betterproto

Clean, modern, Python 3.6+ code generator & library for Protobuf 3 and async gRPC
MIT License
1.44k stars 196 forks source link

Make `grpclib` dependency optional #565

Open timwie opened 3 months ago

timwie commented 3 months ago

First off, thank you for this tool, I was barely able to work with the Python code that protoc generates by default.

I believe that for my usecase, the grpclib dependency (and the indirect dependency on four other packages) is unnecessary, and it might be worth thinking about making it optional, and enabling it via an extra. I assume this would be a breaking change, since I don't think you can make extras enabled by default. But maybe it's an idea for v2 or a future major release.

Basically all I need is to decode messages arriving from a socket. For that I don't need more than what is imported in the generated files: Message, Enum, and the *_field functions. As far as I can tell, these do not depend on grpclib.

Gobot1234 commented 3 months ago

Yeah I agree it'd massively reduce the number of deps I have personally have as well, seems related to #328. Having both options as extras would be nice.