python-protobuf
Options related to the Protobuf Python backend.
See https://www.pantsbuild.org/2.23/docs/python/integrations/protobuf-and-grpc.
Backend: pants.backend.codegen.protobuf.python
Config section: [python-protobuf]
Basic options
grpcio_plugin
--[no-]python-protobuf-grpcio-pluginPANTS_PYTHON_PROTOBUF_GRPCIO_PLUGIN[python-protobuf]
grpcio_plugin = <bool>
TrueUse the official grpcio plugin (https://pypi.org/project/grpcio/) to generate grpc service stubs.
grpclib_plugin
--[no-]python-protobuf-grpclib-pluginPANTS_PYTHON_PROTOBUF_GRPCLIB_PLUGIN[python-protobuf]
grpclib_plugin = <bool>
FalseUse the alternative grpclib plugin (https://github.com/vmagamedov/grpclib) to generate grpc service stubs.
mypy_plugin
--[no-]python-protobuf-mypy-pluginPANTS_PYTHON_PROTOBUF_MYPY_PLUGIN[python-protobuf]
mypy_plugin = <bool>
FalseUse the mypy-protobuf plugin (https://github.com/dropbox/mypy-protobuf) to also generate .pyi type stubs.
Advanced options
infer_runtime_dependency
--[no-]python-protobuf-infer-runtime-dependencyPANTS_PYTHON_PROTOBUF_INFER_RUNTIME_DEPENDENCY[python-protobuf]
infer_runtime_dependency = <bool>
TrueIf True, will add a dependency on a python_requirement target exposing the protobuf module (usually from the protobuf requirement). If the protobuf_source target sets grpc=True, will also add a dependency on the python_requirement target exposing the grpcio module.
If [python].enable_resolves is set, Pants will only infer dependencies on python_requirement targets that use the same resolve as the particular protobuf_source / protobuf_sources target uses, which is set via its python_resolve field.
Unless this option is disabled, Pants will error if no relevant target is found or if more than one is found which causes ambiguity.
Deprecated options
None
Related subsystems
None