Oven logo

Oven

Published

SMG gRPC proto definitions for SGLang, vLLM, and TRT-LLM

pip install smg-grpc-proto

Package Downloads

Weekly DownloadsMonthly Downloads

Requires Python

>=3.10

smg-grpc-proto

PyPI Python

Protocol Buffer definitions for SMG (Shepherd Model Gateway) gRPC services.

This package provides pre-compiled Python gRPC stubs for:

  • SGLang scheduler service (sglang_scheduler.proto)
  • SGLang encoder service (sglang_encoder.proto)
  • vLLM engine service (vllm_engine.proto)
  • TensorRT-LLM service (trtllm_service.proto)

Installation

pip install smg-grpc-proto

Requires grpcio>=1.78.0 and protobuf>=5.26.0.

Usage

from smg_grpc_proto import sglang_scheduler_pb2, sglang_scheduler_pb2_grpc
from smg_grpc_proto import sglang_encoder_pb2, sglang_encoder_pb2_grpc
from smg_grpc_proto import vllm_engine_pb2, vllm_engine_pb2_grpc
from smg_grpc_proto import trtllm_service_pb2, trtllm_service_pb2_grpc

Proto Source

The proto source files live in grpc_client/proto/ in the SMG repository. Python stubs are generated at build time using grpcio-tools and shipped in the wheel.

Development

To install in editable mode from the repo root:

pip install -e grpc_client/python/

For CI or environments where symlinks don't work:

mkdir -p grpc_client/python/smg_grpc_proto/proto
cp grpc_client/proto/*.proto grpc_client/python/smg_grpc_proto/proto/
pip install -e grpc_client/python/

Testing proto changes on a remote GPU machine

After editing .proto files locally, build a wheel and install it in the remote environment (e.g. vLLM):

# 1. Build wheel (regenerates Python stubs from latest .proto files)
cd grpc_client/python
# Copy proto files into the package tree (the repo uses a symlink which
# won't survive wheel packaging)
mkdir -p smg_grpc_proto/proto
cp ../proto/*.proto smg_grpc_proto/proto/
pip wheel . --no-deps -w dist/

# 2. Copy to remote
scp dist/smg_grpc_proto-*.whl remote-gpu:/tmp/

# 3. Install on remote (into vLLM's env or whichever env needs it)
pip install --force-reinstall /tmp/smg_grpc_proto-*.whl

No import changes are needed on the remote side — vLLM already imports from smg_grpc_proto.

License

Apache-2.0