[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.9" license = {text = "Apache-2.0"} authors = [ {name = "The BROKE team", email = "broke@gmx.eu"}, ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Operating System :: MacOS", "Environment :: Console", "License :: OSI Approved :: Apache Software License", ] dependencies = [ "huggingface-hub>=0.34.0", "requests>=2.32.0", "mlx-lm>=0.28.4", "mlx>=0.29.0", "fastapi>=0.116.0", "uvicorn>=0.35.0", "pydantic>=2.11.0", "httpx>=0.27.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", ] vision = [ "mlx-vlm @ git+https://github.com/Blaizzy/mlx-vlm.git@fc8c92e31983a52761f37d503f903ec40bebbd62", # Vision Language Models support (ADR-012, requires Python 3.10+; beta.7 uses upstream main (MXFP4 support), will switch to v0.3.10 PyPI when released) ] [tool.setuptools] license-files = [ "LICENSE", "mlxk2/NOTICE", ]