162 lines
4.2 KiB
TOML
162 lines
4.2 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "vllm-omni"
|
|
version = "0.11.0rc1"
|
|
description = "vLLM-omni: Multi-modality models inference and serving with non-autoregressive structures"
|
|
readme = "README.md"
|
|
requires-python = ">=3.9,<3.14" # Align with vLLM v0.11 supported Python versions
|
|
license = {text = "Apache-2.0"}
|
|
authors = [
|
|
{name = "vLLM-omni Team", email = "vllm-project@gmail.com"}
|
|
]
|
|
keywords = ["vllm", "multimodal", "diffusion", "transformer", "inference", "serving"]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Science/Research",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
]
|
|
|
|
dependencies = [
|
|
# Core runtime dependencies (required for actual usage)
|
|
"omegaconf>=2.3.0",
|
|
# "decord>=0.6.0", # install manually
|
|
"librosa>=0.11.0",
|
|
"resampy>=0.4.3",
|
|
# "vllm==0.11.0", # TODO: fix the entrypoints overwrite problem
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
|
|
dev = [
|
|
"pytest>=7.0.0",
|
|
"pytest-asyncio>=0.21.0",
|
|
"pytest-cov>=4.0.0",
|
|
"black>=23.0.0",
|
|
"isort>=5.12.0",
|
|
"mypy>=1.0.0",
|
|
"pre-commit>=3.0.0",
|
|
]
|
|
|
|
docs = [
|
|
"mkdocs>=1.5.0",
|
|
"mkdocs-api-autonav",
|
|
"mkdocs-material",
|
|
"mkdocstrings-python",
|
|
"mkdocs-gen-files",
|
|
# "mkdocs-awesome-nav", # Not available on PyPI
|
|
"mkdocs-glightbox",
|
|
"mkdocs-git-revision-date-localized-plugin",
|
|
"mkdocs-minify-plugin",
|
|
"regex",
|
|
"pydantic",
|
|
]
|
|
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/vllm-project/vllm-omni"
|
|
Repository = "https://github.com/vllm-project/vllm-omni"
|
|
Documentation = "https://vllm-omni.readthedocs.io"
|
|
"Bug Tracker" = "https://github.com/vllm-project/vllm-omni/issues"
|
|
|
|
[project.scripts]
|
|
vllm = "vllm_omni.entrypoints.cli.main:main"
|
|
vllm-omni = "vllm_omni.entrypoints.cli.main:main"
|
|
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["vllm_omni*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
"vllm_omni.model_executor.stage_configs" = ["*.yaml"]
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
exclude = [
|
|
".eggs",
|
|
".git",
|
|
".hg",
|
|
".mypy_cache",
|
|
".tox",
|
|
".venv",
|
|
"build",
|
|
"dist",
|
|
"vllm_omni.egg-info",
|
|
]
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E", # pycodestyle errors
|
|
"W", # pycodestyle warnings
|
|
"F", # pyflakes
|
|
"I", # isort (handled separately, but included for compatibility)
|
|
"N", # pep8-naming
|
|
"UP", # pyupgrade
|
|
]
|
|
ignore = [
|
|
"E203", # whitespace before ':' (conflicts with black)
|
|
# W503 is not needed in ruff as it's compatible with black by default
|
|
"N801", # class names should use CapWords convention
|
|
"N802", # function name should follow snake_case
|
|
"N806", # variable in function should follow snake_case
|
|
"N812", # lowercase imported as non-lowercase: functional as F
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"examples/**" = ["E501"] # Allow long lines in examples
|
|
"tests/**" = ["E501"] # Allow long lines in tests
|
|
|
|
[tool.mypy]
|
|
python_version = "3.12, 3.13"
|
|
warn_return_any = true
|
|
warn_unused_configs = true
|
|
disallow_untyped_defs = true
|
|
disallow_incomplete_defs = true
|
|
check_untyped_defs = true
|
|
disallow_untyped_decorators = true
|
|
no_implicit_optional = true
|
|
warn_redundant_casts = true
|
|
warn_unused_ignores = true
|
|
warn_no_return = true
|
|
warn_unreachable = true
|
|
strict_equality = true
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
python_files = ["test_*.py", "*_test.py"]
|
|
python_classes = ["Test*"]
|
|
python_functions = ["test_*"]
|
|
addopts = [
|
|
"--strict-markers",
|
|
"--strict-config",
|
|
"--cov=vllm_omni",
|
|
"--cov-report=term-missing",
|
|
"--cov-report=html",
|
|
"--cov-report=xml",
|
|
]
|
|
markers = [
|
|
"unit: Unit tests",
|
|
"integration: Integration tests",
|
|
"benchmark: Benchmark tests",
|
|
"slow: Slow tests",
|
|
]
|
|
|
|
[tool.typos.default]
|
|
extend-ignore-identifiers-re = [
|
|
".*_thw",
|
|
".*thw",
|
|
"ein",
|
|
".*arange"
|
|
]
|