[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" ]