75 lines
2.3 KiB
Python
75 lines
2.3 KiB
Python
# Copyright © 2024 Apple Inc.
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
from setuptools import setup
|
|
|
|
package_dir = Path(__file__).parent / "mlx_lm"
|
|
sys.path.append(str(package_dir))
|
|
|
|
from _version import __version__
|
|
|
|
MIN_MLX_VERSION = "0.31.2"
|
|
|
|
setup(
|
|
name="mlx-lm",
|
|
version=__version__,
|
|
description="LLMs with MLX and the Hugging Face Hub",
|
|
long_description=open("README.md", encoding="utf-8").read(),
|
|
long_description_content_type="text/markdown",
|
|
readme="README.md",
|
|
author_email="mlx@group.apple.com",
|
|
author="MLX Contributors",
|
|
url="https://github.com/ml-explore/mlx-lm",
|
|
license="MIT",
|
|
install_requires=[
|
|
f"mlx>={MIN_MLX_VERSION}; platform_system == 'Darwin'",
|
|
"numpy",
|
|
"transformers>=5.0.0",
|
|
"sentencepiece",
|
|
"protobuf",
|
|
"pyyaml",
|
|
"jinja2",
|
|
],
|
|
packages=[
|
|
"mlx_lm",
|
|
"mlx_lm.models",
|
|
"mlx_lm.quant",
|
|
"mlx_lm.tuner",
|
|
"mlx_lm.tool_parsers",
|
|
"mlx_lm.chat_templates",
|
|
],
|
|
python_requires=">=3.8",
|
|
extras_require={
|
|
"test": ["datasets", "lm-eval"],
|
|
"train": ["datasets", "tqdm"],
|
|
"evaluate": ["lm-eval", "tqdm"],
|
|
"cuda13": [f"mlx[cuda13]>={MIN_MLX_VERSION}"],
|
|
"cuda12": [f"mlx[cuda12]>={MIN_MLX_VERSION}"],
|
|
"cpu": [f"mlx[cpu]>={MIN_MLX_VERSION}"],
|
|
},
|
|
entry_points={
|
|
"console_scripts": [
|
|
"mlx_lm = mlx_lm.cli:main",
|
|
"mlx_lm.awq = mlx_lm.quant.awq:main",
|
|
"mlx_lm.dwq = mlx_lm.quant.dwq:main",
|
|
"mlx_lm.dynamic_quant = mlx_lm.quant.dynamic_quant:main",
|
|
"mlx_lm.gptq = mlx_lm.quant.gptq:main",
|
|
"mlx_lm.benchmark = mlx_lm.benchmark:main",
|
|
"mlx_lm.cache_prompt = mlx_lm.cache_prompt:main",
|
|
"mlx_lm.chat = mlx_lm.chat:main",
|
|
"mlx_lm.convert = mlx_lm.convert:main",
|
|
"mlx_lm.evaluate = mlx_lm.evaluate:main",
|
|
"mlx_lm.fuse = mlx_lm.fuse:main",
|
|
"mlx_lm.generate = mlx_lm.generate:main",
|
|
"mlx_lm.lora = mlx_lm.lora:main",
|
|
"mlx_lm.perplexity = mlx_lm.perplexity:main",
|
|
"mlx_lm.server = mlx_lm.server:main",
|
|
"mlx_lm.share = mlx_lm.share:main",
|
|
"mlx_lm.manage = mlx_lm.manage:main",
|
|
"mlx_lm.upload = mlx_lm.upload:main",
|
|
]
|
|
},
|
|
)
|