[build-system] requires = ["setuptools>=61.0", "setuptools-scm>=8.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "sglang" dynamic = ["version"] description = "SGLang is a fast serving framework for large language models and vision language models." readme = "README.md" requires-python = ">=3.10" license = { file = "LICENSE" } classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: Apache Software License", ] dependencies = [ "torch==2.9.0", "torchcodec==0.8.0 ; sys_platform != 'linux' or (sys_platform == 'linux' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'armv7l')", # torchcodec does not exist in those systems. If not provided, transformer will use torchvision instead by default. "av ; sys_platform == 'linux' and (platform_machine == 'aarch64' or platform_machine == 'arm64' or platform_machine == 'armv7l')", "torchaudio==2.9.0", "torchvision", "sgl-kernel @ git+https://github.com/sgl-project/sgl-kernel-xpu.git", "IPython", "aiohttp", "anthropic>=0.20.0", "blobfile==3.0.0", "build", "compressed-tensors", "datasets", "decord", "einops", "fastapi", "gguf", "hf_transfer", "huggingface_hub", "interegular", "llguidance>=0.7.11,<0.8.0", "modelscope", "msgspec", "ninja", "numpy", "openai-harmony==0.0.4", "openai==2.6.1", "orjson", "outlines==0.1.11", "packaging", "partial_json_parser", "pillow", "prometheus-client>=0.20.0", "psutil", "py-spy", "pybase64", "pydantic", "python-multipart", "pyzmq>=25.1.2", "requests", "scipy", "sentencepiece", "setproctitle", "soundfile==0.13.1", "tiktoken", "timm==1.0.16", "torchao==0.9.0", "tqdm", "transformers==4.57.1", "uvicorn", "uvloop", # "xgrammar==0.1.24", , xgrammar depends on CUDA PyTorch and Triton only "smg-grpc-proto>=0.4.1", "grpcio>=1.78.0", "grpcio-reflection>=1.78.0", ] [project.optional-dependencies] tracing = [ "opentelemetry-sdk", "opentelemetry-api", "opentelemetry-exporter-otlp", "opentelemetry-exporter-otlp-proto-grpc", ] test = [ "accelerate", "expecttest", "jsonlines", "matplotlib", "pandas", "peft", "pytest", "sentence_transformers", "tabulate", ] all = [] dev = ["sglang[test]"] [project.urls] "Homepage" = "https://github.com/sgl-project/sglang" "Bug Tracker" = "https://github.com/sgl-project/sglang/issues" [project.scripts] sglang = "sglang.cli.main:main" [tool.setuptools.package-data] "sglang" = [ "srt/**/*", "jit_kernel/**/*" ] [tool.setuptools.packages.find] exclude = [ "assets*", "benchmark*", "docs*", "dist*", "playground*", "scripts*", "tests*", ] [tool.wheel] exclude = [ "assets*", "benchmark*", "docs*", "dist*", "playground*", "scripts*", "tests*", ] [tool.setuptools_scm] root = ".." version_file = "sglang/_version.py" git_describe_command = ["git", "describe", "--tags", "--long", "--match", "v*"]