Files
flatbuffers/grpc
Felix 31beb0fb2f Bugfix: grpc python code generation location and file suffix (#8359)
* clang-format

* [Python] Replace . with _ in grpc filename suffix

Having filenames with . like `file.fb.grcp`
is not great for Python. Since dots are used for namespaces.
Replacing all of them with _ eg suffix `foo.bar.baz` will become
`foo_bar_baz`.

Restoring the previous default `_fb` suffix.

* [Python] Use namespace in path

This fixes a regression introduced with:
fb9afbafc7
And generates the grpc file in the namespace folder again.

* Sync commandline docs with web docs
2025-06-24 22:52:40 -07:00
..
2025-01-15 09:24:34 -08:00
2021-08-14 09:01:54 -07:00

GRPC implementation and test

NOTE: files in src/ are shared with the GRPC project, and maintained there (any changes should be submitted to GRPC instead). These files are copied from GRPC, and work with both the Protobuf and FlatBuffers code generator.

tests/ contains a GRPC specific test, you need to have built and installed the GRPC libraries for this to compile. This test will build using the FLATBUFFERS_BUILD_GRPCTEST option to the main FlatBuffers CMake project.

Building Flatbuffers with gRPC

Linux

  1. Download, build and install gRPC. See instructions.
    • Lets say your gRPC clone is at /your/path/to/grpc_repo.
    • Install gRPC in a custom directory by running make install prefix=/your/path/to/grpc_repo/install.
  2. export GRPC_INSTALL_PATH=/your/path/to/grpc_repo/install
  3. export PROTOBUF_DOWNLOAD_PATH=/your/path/to/grpc_repo/third_party/protobuf
  4. mkdir build ; cd build
  5. cmake -DFLATBUFFERS_BUILD_GRPCTEST=ON -DGRPC_INSTALL_PATH=${GRPC_INSTALL_PATH} -DPROTOBUF_DOWNLOAD_PATH=${PROTOBUF_DOWNLOAD_PATH} ..
  6. make

For Bazel users:

$bazel test src/compiler/...

Running FlatBuffer gRPC tests

Linux

  1. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${GRPC_INSTALL_PATH}/lib
  2. make test ARGS=-V

For Bazel users:

$bazel test tests/...