[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "mlx-knife" dynamic = ["version"] description = "HuggingFace model management for MLX on Apple Silicon" readme = "README.md" requires-python = ">=3.10" license = {text = "Apache-2.0"} authors = [ {name = "The BROKE team", email = "broke@gmx.eu"}, ] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Operating System :: MacOS", "Environment :: Console", "License :: OSI Approved :: Apache Software License", ] dependencies = [ # Core "huggingface-hub>=1.0.0", "requests>=2.32.0", "fastapi>=0.116.0", "uvicorn>=0.35.0", "pydantic>=2.11.0", "httpx>=0.27.0", "python-multipart>=0.0.9", # MLX stack (Text + Vision + Audio) "mlx>=0.30.0", "mlx-lm>=0.30.5", "mlx-vlm==0.3.10", "mlx-audio==0.3.1", "tiktoken>=0.7.0", ] [project.scripts] mlxk = "mlxk2.cli:main" mlxk-json = "mlxk2.cli:main" mlxk2 = "mlxk2.cli:main" mlx-run = "mlxk2.tools.run:main" [project.urls] Homepage = "https://github.com/mzau/mlx-knife" Repository = "https://github.com/mzau/mlx-knife" Issues = "https://github.com/mzau/mlx-knife/issues" [tool.setuptools.packages.find] include = ["mlxk2*"] exclude = ["tests*", "tests_2.0*"] [tool.setuptools.dynamic] version = {attr = "mlxk2.__version__"} [project.optional-dependencies] test = [ "pytest>=7", "jsonschema>=4.20", ] dev = [ "ruff>=0.1.0", "mypy>=1.5.0", ] [tool.setuptools] license-files = [ "LICENSE", "mlxk2/NOTICE", ] [tool.setuptools.package-data] mlxk2 = [ "assets/whisper/*.tiktoken", ]