Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
change
sglang
Commits
bfcd9b24
Unverified
Commit
bfcd9b24
authored
Oct 03, 2025
by
Liangsheng Yin
Committed by
GitHub
Oct 03, 2025
Browse files
[grpc] style fix for grpc compilation. (#11175)
parent
458611de
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
24 deletions
+33
-24
.pre-commit-config.yaml
.pre-commit-config.yaml
+0
-1
python/pyproject.toml
python/pyproject.toml
+3
-1
python/sglang/srt/grpc/compile_proto.py
python/sglang/srt/grpc/compile_proto.py
+30
-22
No files found.
.pre-commit-config.yaml
View file @
bfcd9b24
default_stages
:
[
pre-commit
,
pre-push
,
manual
]
default_stages
:
[
pre-commit
,
pre-push
,
manual
]
exclude
:
^python/sglang/srt/grpc/
repos
:
repos
:
-
repo
:
https://github.com/pre-commit/pre-commit-hooks
-
repo
:
https://github.com/pre-commit/pre-commit-hooks
...
...
python/pyproject.toml
View file @
bfcd9b24
...
@@ -66,7 +66,9 @@ dependencies = [
...
@@ -66,7 +66,9 @@ dependencies = [
"transformers==4.56.1"
,
"transformers==4.56.1"
,
"uvicorn"
,
"uvicorn"
,
"uvloop"
,
"uvloop"
,
"xgrammar==0.1.24"
"xgrammar==0.1.24"
,
"grpcio==1.74.0"
,
# keep it align with compile_proto.py
"grpcio-tools==1.74.0"
# keep it align with compile_proto.py
]
]
[project.optional-dependencies]
[project.optional-dependencies]
...
...
python/sglang/srt/grpc/compile_proto.py
100644 → 100755
View file @
bfcd9b24
...
@@ -16,20 +16,21 @@ Options:
...
@@ -16,20 +16,21 @@ Options:
--proto-file Specify proto file (default: sglang_scheduler.proto)
--proto-file Specify proto file (default: sglang_scheduler.proto)
### Install Dependencies
### Install Dependencies
pip install grpcio
grpcio-tools
pip install
"
grpcio
==1.74.0" "
grpcio-tools
==1.74.0"
### Run Script
### Run Script
cd python/sglang/srt/grpc
cd python/sglang/srt/grpc
python compile_proto.py
python compile_proto.py
"""
"""
import
argparse
import
argparse
import
os
import
sys
import
subprocess
import
subprocess
import
time
import
sys
from
importlib.metadata
import
version
from
pathlib
import
Path
from
pathlib
import
Path
from
typing
import
List
,
Optional
GRPC_VERSION
=
"1.74.0"
def
get_file_mtime
(
path
:
Path
)
->
float
:
def
get_file_mtime
(
path
:
Path
)
->
float
:
...
@@ -72,17 +73,28 @@ def compile_proto(proto_file: Path, output_dir: Path, verbose: bool = True) -> b
...
@@ -72,17 +73,28 @@ def compile_proto(proto_file: Path, output_dir: Path, verbose: bool = True) -> b
import
grpc_tools.protoc
import
grpc_tools.protoc
except
ImportError
:
except
ImportError
:
print
(
"Error: grpcio-tools not installed"
)
print
(
"Error: grpcio-tools not installed"
)
print
(
"Install with: pip install grpcio-tools"
)
print
(
f
'Install with: pip install "grpcio-tools==
{
GRPC_VERSION
}
" "grpcio==
{
GRPC_VERSION
}
"'
)
return
False
return
False
grpc_tools_version
=
version
(
"grpcio-tools"
)
grpc_version
=
version
(
"grpcio"
)
if
grpc_tools_version
!=
GRPC_VERSION
or
grpc_version
!=
GRPC_VERSION
:
raise
RuntimeError
(
f
"Error: grpcio-tools version
{
grpc_tools_version
}
and grpcio version
{
grpc_version
}
detected, but
{
GRPC_VERSION
}
is required."
)
# Compile command
# Compile command
cmd
=
[
cmd
=
[
sys
.
executable
,
"-m"
,
"grpc_tools.protoc"
,
sys
.
executable
,
"-m"
,
"grpc_tools.protoc"
,
f
"-I
{
proto_file
.
parent
}
"
,
f
"-I
{
proto_file
.
parent
}
"
,
f
"--python_out=
{
output_dir
}
"
,
f
"--python_out=
{
output_dir
}
"
,
f
"--grpc_python_out=
{
output_dir
}
"
,
f
"--grpc_python_out=
{
output_dir
}
"
,
f
"--pyi_out=
{
output_dir
}
"
,
# Generate type stubs
f
"--pyi_out=
{
output_dir
}
"
,
# Generate type stubs
str
(
proto_file
.
name
)
str
(
proto_file
.
name
)
,
]
]
if
verbose
:
if
verbose
:
...
@@ -102,7 +114,7 @@ def compile_proto(proto_file: Path, output_dir: Path, verbose: bool = True) -> b
...
@@ -102,7 +114,7 @@ def compile_proto(proto_file: Path, output_dir: Path, verbose: bool = True) -> b
generated_files
=
[
generated_files
=
[
f
"
{
proto_file
.
stem
}
_pb2.py"
,
f
"
{
proto_file
.
stem
}
_pb2.py"
,
f
"
{
proto_file
.
stem
}
_pb2_grpc.py"
,
f
"
{
proto_file
.
stem
}
_pb2_grpc.py"
,
f
"
{
proto_file
.
stem
}
_pb2.pyi"
f
"
{
proto_file
.
stem
}
_pb2.pyi"
,
]
]
missing_files
=
[]
missing_files
=
[]
...
@@ -149,10 +161,7 @@ def add_generation_header(output_dir: Path, proto_stem: str) -> None:
...
@@ -149,10 +161,7 @@ def add_generation_header(output_dir: Path, proto_stem: str) -> None:
"""
"""
files_to_update
=
[
files_to_update
=
[
f
"
{
proto_stem
}
_pb2.py"
,
f
"
{
proto_stem
}
_pb2_grpc.py"
]
f
"
{
proto_stem
}
_pb2.py"
,
f
"
{
proto_stem
}
_pb2_grpc.py"
]
for
filename
in
files_to_update
:
for
filename
in
files_to_update
:
file_path
=
output_dir
/
filename
file_path
=
output_dir
/
filename
...
@@ -167,33 +176,32 @@ def main():
...
@@ -167,33 +176,32 @@ def main():
parser
=
argparse
.
ArgumentParser
(
parser
=
argparse
.
ArgumentParser
(
description
=
"Compile protobuf files for SGLang gRPC server"
,
description
=
"Compile protobuf files for SGLang gRPC server"
,
formatter_class
=
argparse
.
RawDescriptionHelpFormatter
,
formatter_class
=
argparse
.
RawDescriptionHelpFormatter
,
epilog
=
__doc__
epilog
=
__doc__
,
)
)
parser
.
add_argument
(
parser
.
add_argument
(
"--check"
,
"--check"
,
action
=
"store_true"
,
action
=
"store_true"
,
help
=
"Check if regeneration is needed (exit 1 if needed)"
help
=
"Check if regeneration is needed (exit 1 if needed)"
,
)
)
parser
.
add_argument
(
parser
.
add_argument
(
"--proto-file"
,
"--proto-file"
,
type
=
str
,
type
=
str
,
default
=
"sglang_scheduler.proto"
,
default
=
"sglang_scheduler.proto"
,
help
=
"Proto file to compile (default: sglang_scheduler.proto)"
help
=
"Proto file to compile (default: sglang_scheduler.proto)"
,
)
)
parser
.
add_argument
(
parser
.
add_argument
(
"-v"
,
"--verbose"
,
"-v"
,
"--verbose"
,
action
=
"store_true"
,
action
=
"store_true"
,
default
=
True
,
default
=
True
,
help
=
"Verbose output (default: True)"
help
=
"Verbose output (default: True)"
,
)
)
parser
.
add_argument
(
parser
.
add_argument
(
"-q"
,
"--quiet"
,
"-q"
,
"--quiet"
,
action
=
"store_true"
,
help
=
"Quiet mode (overrides verbose)"
action
=
"store_true"
,
help
=
"Quiet mode (overrides verbose)"
)
)
args
=
parser
.
parse_args
()
args
=
parser
.
parse_args
()
...
@@ -234,4 +242,4 @@ def main():
...
@@ -234,4 +242,4 @@ def main():
if
__name__
==
"__main__"
:
if
__name__
==
"__main__"
:
main
()
main
()
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment