71 lines
2.1 KiB
Python
71 lines
2.1 KiB
Python
import io
|
|
import os
|
|
import re
|
|
from typing import List
|
|
|
|
import setuptools
|
|
from torch.utils.cpp_extension import BuildExtension
|
|
|
|
ROOT_DIR = os.path.dirname(__file__)
|
|
|
|
"""
|
|
Build vllm-gptq without any CUDA
|
|
"""
|
|
|
|
|
|
def get_path(*filepath) -> str:
|
|
return os.path.join(ROOT_DIR, *filepath)
|
|
|
|
|
|
def find_version(filepath: str):
|
|
"""Extract version information from the given filepath.
|
|
|
|
Adapted from https://github.com/ray-project/ray/blob/0b190ee1160eeca9796bc091e07eaebf4c85b511/python/setup.py
|
|
"""
|
|
with open(filepath) as fp:
|
|
version_match = re.search(
|
|
r"^__version__ = ['\"]([^'\"]*)['\"]", fp.read(), re.M)
|
|
if version_match:
|
|
return version_match.group(1)
|
|
raise RuntimeError("Unable to find version string.")
|
|
|
|
|
|
def read_readme() -> str:
|
|
"""Read the README file."""
|
|
return io.open(get_path("README.md"), "r", encoding="utf-8").read()
|
|
|
|
|
|
def get_requirements() -> List[str]:
|
|
"""Get Python package dependencies from requirements.txt."""
|
|
with open(get_path("requirements.txt")) as f:
|
|
requirements = f.read().strip().split("\n")
|
|
return requirements
|
|
|
|
|
|
setuptools.setup(
|
|
name="vllm-gptq",
|
|
version=find_version(get_path("", "__init__.py")),
|
|
author="vLLM Team",
|
|
license="Apache 2.0",
|
|
description="A high-throughput and memory-efficient inference and serving engine for LLMs",
|
|
long_description=read_readme(),
|
|
long_description_content_type="text/markdown",
|
|
url="https://github.com/vllm-project/vllm",
|
|
project_urls={
|
|
"Homepage": "https://github.com/vllm-project/vllm",
|
|
"Documentation": "https://vllm.readthedocs.io/en/latest/",
|
|
},
|
|
classifiers=[
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
],
|
|
packages=setuptools.find_packages(
|
|
exclude=("assets", "benchmarks", "csrc", "docs", "examples", "tests")),
|
|
python_requires=">=3.8",
|
|
install_requires=get_requirements(),
|
|
cmdclass={"build_ext": BuildExtension},
|
|
)
|