@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 21dce80ea9
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 14, 05:30 UTC

[CI/Build] Add support for Python 3.13 (#13164)

Signed-off-by: mgoin <michael@neuralmagic.com> Signed-off-by: mgoin <mgoin64@gmail.com> Co-authored-by: Cyrus Leung <tlleungac@connect.ust.hk>

Michael Goin committed Aug 19, 2025 at 16:49 UTC 21dce80ea96bcf033d159c0f952fb274567b315c
4 files changed +15 -4
CMakeLists.txt
+1 -1
@@ -30,7 +30,7 @@ install(CODE "set(CMAKE_INSTALL_LOCAL_ONLY TRUE)" ALL_COMPONENTS)
30 # Supported python versions. These versions will be searched in order, the
31 # first match will be selected. These should be kept in sync with setup.py.
32 #
33 -set(PYTHON_SUPPORTED_VERSIONS "3.9" "3.10" "3.11" "3.12")
33 +set(PYTHON_SUPPORTED_VERSIONS "3.9" "3.10" "3.11" "3.12", "3.13")
34
35 # Supported AMD GPU architectures.
36 set(HIP_SUPPORTED_ARCHS "gfx906;gfx908;gfx90a;gfx942;gfx950;gfx1030;gfx1100;gfx1101;gfx1200;gfx1201")
docs/getting_started/quickstart.md
+1 -1
@@ -8,7 +8,7 @@ This guide will help you quickly get started with vLLM to perform:
8 ## Prerequisites
9
10 - OS: Linux
11 -- Python: 3.9 -- 3.12
11 +- Python: 3.9 -- 3.13
12
13 ## Installation
14
pyproject.toml
+2 -1
@@ -24,13 +24,14 @@ classifiers = [
24 "Programming Language :: Python :: 3.10",
25 "Programming Language :: Python :: 3.11",
26 "Programming Language :: Python :: 3.12",
27 + "Programming Language :: Python :: 3.13",
28 "Intended Audience :: Developers",
29 "Intended Audience :: Information Technology",
30 "Intended Audience :: Science/Research",
31 "Topic :: Scientific/Engineering :: Artificial Intelligence",
32 "Topic :: Scientific/Engineering :: Information Analysis",
33 ]
33 -requires-python = ">=3.9,<3.13"
34 +requires-python = ">=3.9,<3.14"
35 dynamic = [ "version", "dependencies", "optional-dependencies"]
36
37 [project.urls]
vllm/config/__init__.py
+11 -1
@@ -191,7 +191,17 @@ def get_attr_docs(cls: type[Any]) -> dict[str, str]:
191 yield a, b
192 a = b
193
194 - cls_node = ast.parse(textwrap.dedent(inspect.getsource(cls))).body[0]
194 + try:
195 + cls_node = ast.parse(textwrap.dedent(inspect.getsource(cls))).body[0]
196 + except (OSError, KeyError, TypeError):
197 + # HACK: Python 3.13+ workaround - set missing __firstlineno__
198 + # Workaround can be removed after we upgrade to pydantic==2.12.0
199 + with open(inspect.getfile(cls)) as f:
200 + for i, line in enumerate(f):
201 + if f"class {cls.__name__}" in line and ":" in line:
202 + cls.__firstlineno__ = i + 1
203 + break
204 + cls_node = ast.parse(textwrap.dedent(inspect.getsource(cls))).body[0]
205
206 if not isinstance(cls_node, ast.ClassDef):
207 raise TypeError("Given object was not a class.")