tree: 153b9f330b3dd8312b5857305f6ed9c8a8d0222d
  1. example/
  2. requirements/
  3. BUILD.bazel
  4. compile.bzl
  5. deps.bzl
  6. grpc_library.bzl
  7. library.bzl
  8. python_grpc_compile.bzl
  9. python_grpc_library.bzl
  10. python_proto_compile.bzl
  11. python_proto_library.bzl
  12. README.md
  13. requirements.txt
python/README.md

python

RuleDescription
python_proto_compileGenerates *.py protobuf artifacts
python_grpc_compileGenerates *.py protobuf+gRPC artifacts
python_proto_libraryGenerates *.py protobuf library
python_grpc_libraryGenerates *.py protobuf+gRPC library

python_proto_compile

Generates *.py protobuf artifacts

WORKSPACE

load("@build_stack_rules_proto//python:deps.bzl", "python_proto_compile")

python_proto_compile()

BUILD.bazel

load("@build_stack_rules_proto//python:python_proto_compile.bzl", "python_proto_compile")

python_proto_compile(
	name = "person_python_proto",
	deps = ["@build_stack_rules_proto//example/proto:person_proto"],
)

Mandatory Attributes

NameTypeDefaultDescription
depslist<ProtoInfo>[]List of labels that provide a ProtoInfo (native.proto_library)

Optional Attributes

NameTypeDefaultDescription
pluginslist<ProtoPluginInfo>[]List of labels that provide a ProtoPluginInfo
plugin_optionslist<string>[]List of additional ‘global’ plugin options (applies to all plugins)
outputslist<generated file>[]List of additional expected generated file outputs
has_servicesboolFalseIf the proto files(s) have a service rpc, generate grpc outputs
protocexecutable file@com_google_protobuf//:protocThe protocol compiler tool
verboseint01: show command, 2: show sandbox after, 3: show sandbox before
include_importsboolTruePass the --include_imports argument to the protoc_plugin
include_source_infoboolTruePass the --include_source_info argument to the protoc_plugin
transitiveboolFalseGenerated outputs for *.proto directly named in deps AND all transitive proto_library dependencies

python_grpc_compile

Generates *.py protobuf+gRPC artifacts

WORKSPACE

load("@build_stack_rules_proto//python:deps.bzl", "python_grpc_compile")

python_grpc_compile()

load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")

grpc_deps()

BUILD.bazel

load("@build_stack_rules_proto//python:python_grpc_compile.bzl", "python_grpc_compile")

python_grpc_compile(
	name = "greeter_python_grpc",
	deps = ["@build_stack_rules_proto//example/proto:greeter_grpc"],
)

Mandatory Attributes

NameTypeDefaultDescription
depslist<ProtoInfo>[]List of labels that provide a ProtoInfo (native.proto_library)

Optional Attributes

NameTypeDefaultDescription
pluginslist<ProtoPluginInfo>[]List of labels that provide a ProtoPluginInfo
plugin_optionslist<string>[]List of additional ‘global’ plugin options (applies to all plugins)
outputslist<generated file>[]List of additional expected generated file outputs
has_servicesboolFalseIf the proto files(s) have a service rpc, generate grpc outputs
protocexecutable file@com_google_protobuf//:protocThe protocol compiler tool
verboseint01: show command, 2: show sandbox after, 3: show sandbox before
include_importsboolTruePass the --include_imports argument to the protoc_plugin
include_source_infoboolTruePass the --include_source_info argument to the protoc_plugin
transitiveboolFalseGenerated outputs for *.proto directly named in deps AND all transitive proto_library dependencies

python_proto_library

Generates *.py protobuf library

WORKSPACE

load("@build_stack_rules_proto//python:deps.bzl", "python_proto_library")

python_proto_library()

load("@io_bazel_rules_python//python:pip.bzl", "pip_repositories", "pip_import")

pip_repositories()

pip_import(
	name = "protobuf_py_deps",
	requirements = "@build_stack_rules_proto//python/requirements:protobuf.txt",
)

load("@protobuf_py_deps//:requirements.bzl", protobuf_pip_install = "pip_install")

protobuf_pip_install()

BUILD.bazel

load("@build_stack_rules_proto//python:python_proto_library.bzl", "python_proto_library")

python_proto_library(
	name = "person_python_library",
	deps = ["@build_stack_rules_proto//example/proto:person_proto"],
)

Mandatory Attributes

NameTypeDefaultDescription
depslist<ProtoInfo>[]List of labels that provide a ProtoInfo (native.proto_library)

Optional Attributes

NameTypeDefaultDescription
pluginslist<ProtoPluginInfo>[]List of labels that provide a ProtoPluginInfo
plugin_optionslist<string>[]List of additional ‘global’ plugin options (applies to all plugins)
outputslist<generated file>[]List of additional expected generated file outputs
has_servicesboolFalseIf the proto files(s) have a service rpc, generate grpc outputs
protocexecutable file@com_google_protobuf//:protocThe protocol compiler tool
verboseint01: show command, 2: show sandbox after, 3: show sandbox before
include_importsboolTruePass the --include_imports argument to the protoc_plugin
include_source_infoboolTruePass the --include_source_info argument to the protoc_plugin
transitiveboolFalseGenerated outputs for *.proto directly named in deps AND all transitive proto_library dependencies

python_grpc_library

Generates *.py protobuf+gRPC library

WORKSPACE

load("@build_stack_rules_proto//python:deps.bzl", "python_grpc_library")

python_grpc_library()

load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")

grpc_deps()

load("@io_bazel_rules_python//python:pip.bzl", "pip_repositories", "pip_import")

pip_repositories()

pip_import(
	name = "protobuf_py_deps",
	requirements = "@build_stack_rules_proto//python/requirements:protobuf.txt",
)

load("@protobuf_py_deps//:requirements.bzl", protobuf_pip_install = "pip_install")

protobuf_pip_install()

pip_import(
   name = "grpc_py_deps",
   requirements = "@build_stack_rules_proto//python:requirements.txt",
)

load("@grpc_py_deps//:requirements.bzl", grpc_pip_install = "pip_install")

grpc_pip_install()

BUILD.bazel

load("@build_stack_rules_proto//python:python_grpc_library.bzl", "python_grpc_library")

python_grpc_library(
	name = "greeter_python_library",
	deps = ["@build_stack_rules_proto//example/proto:greeter_grpc"],
)

Mandatory Attributes

NameTypeDefaultDescription
depslist<ProtoInfo>[]List of labels that provide a ProtoInfo (native.proto_library)

Optional Attributes

NameTypeDefaultDescription
pluginslist<ProtoPluginInfo>[]List of labels that provide a ProtoPluginInfo
plugin_optionslist<string>[]List of additional ‘global’ plugin options (applies to all plugins)
outputslist<generated file>[]List of additional expected generated file outputs
has_servicesboolFalseIf the proto files(s) have a service rpc, generate grpc outputs
protocexecutable file@com_google_protobuf//:protocThe protocol compiler tool
verboseint01: show command, 2: show sandbox after, 3: show sandbox before
include_importsboolTruePass the --include_imports argument to the protoc_plugin
include_source_infoboolTruePass the --include_source_info argument to the protoc_plugin
transitiveboolFalseGenerated outputs for *.proto directly named in deps AND all transitive proto_library dependencies