|  | 
|  | 1 | +[build-system] | 
|  | 2 | +requires = [ | 
|  | 3 | +  "setuptools>=48", | 
|  | 4 | +] | 
|  | 5 | +build-backend = "setuptools.build_meta" | 
|  | 6 | + | 
|  | 7 | +[project] | 
|  | 8 | +name = "vllm-spyre" | 
|  | 9 | +description = "vLLM plugin for Spyre hardware support" | 
|  | 10 | +readme = "README.md" | 
|  | 11 | +license = {text = "Apache 2"} | 
|  | 12 | +version = "0.0.0" # TODO dynamic versioning | 
|  | 13 | +dependencies = [ | 
|  | 14 | +    "fms-model-optimizer>=0.2.0", | 
|  | 15 | +    "ibm-fms==0.0.8", | 
|  | 16 | +    "vllm", | 
|  | 17 | +] | 
|  | 18 | + | 
|  | 19 | +[project.entry-points."vllm.platform_plugins"] | 
|  | 20 | +spyre = "vllm_spyre:register" | 
|  | 21 | + | 
|  | 22 | +[tool.setuptools.packages.find] | 
|  | 23 | +where = ["."]  # list of folders that contain the packages (["."] by default) | 
|  | 24 | +include = ["vllm_spyre"]  # package names should match these glob patterns (["*"] by default) | 
|  | 25 | +exclude = []  # exclude packages matching these glob patterns (empty by default) | 
|  | 26 | +namespaces = false  # to disable scanning PEP 420 namespaces (true by default) | 
|  | 27 | + | 
|  | 28 | + | 
| 1 | 29 | [tool.setuptools_scm] | 
| 2 | 30 | # version_file = "vllm_spyre/_version.py" # currently handled by `setup.py:get_version()` | 
| 3 | 31 | 
 | 
|  | 32 | +[tool.uv] | 
|  | 33 | +# Never install torch, so that no dependencies can override it. | 
|  | 34 | +# This requires that torch is installed separately in the target environment | 
|  | 35 | +override-dependencies = [ | 
|  | 36 | +    "torch; sys_platform == 'never'", | 
|  | 37 | +    "torchaudio; sys_platform == 'never'", | 
|  | 38 | +    "torchvision; sys_platform == 'never'", | 
|  | 39 | +] | 
|  | 40 | + | 
|  | 41 | +[tool.uv.sources] | 
|  | 42 | +vllm = { git = "https://github.com/vllm-project/vllm", rev = "v0.8.0" } | 
|  | 43 | + | 
| 4 | 44 | [tool.ruff] | 
| 5 | 45 | # Allow lines to be as long as 80. | 
| 6 | 46 | line-length = 80 | 
| @@ -78,3 +118,26 @@ plugins.md013.enabled = false # line-length | 
| 78 | 118 | plugins.md041.enabled = false # first-line-h1 | 
| 79 | 119 | plugins.md033.enabled = false # inline-html | 
| 80 | 120 | plugins.md024.allow_different_nesting = true # no-duplicate-headers | 
|  | 121 | + | 
|  | 122 | +[dependency-groups] | 
|  | 123 | +dev = [ | 
|  | 124 | +    "pytest==8.3.4", | 
|  | 125 | +    "pytest-forked==1.6.0", | 
|  | 126 | +    "pytest-timeout==2.3.1", | 
|  | 127 | +    "requests==2.32.3", | 
|  | 128 | +    "sentence-transformers==3.4.1", | 
|  | 129 | +] | 
|  | 130 | +lint = [ | 
|  | 131 | +    "clang-format==18.1.5", | 
|  | 132 | +    "codespell==2.3.0", | 
|  | 133 | +    "isort==5.13.2", | 
|  | 134 | +    "mypy==1.11.1", | 
|  | 135 | +    "pymarkdownlnt==0.9.26", | 
|  | 136 | +    "ruff==0.6.5", | 
|  | 137 | +    "toml==0.10.2", | 
|  | 138 | +    "tomli==2.0.2", | 
|  | 139 | +    "types-pyyaml>=6.0.12.20250326", | 
|  | 140 | +    "types-requests>=2.32.0.20250328", | 
|  | 141 | +    "types-setuptools>=77.0.2.20250328", | 
|  | 142 | +    "yapf==0.43.0", | 
|  | 143 | +] | 
0 commit comments