[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "dflash-mlx-universal" version = "0.2.0" description = "Universal DFlash block diffusion speculative decoding for MLX — any model family on Apple Silicon" readme = "README.md" license = {text = "MIT"} authors = [ {name = "Raaz Kumar"}, {name = "Community Contributors"}, ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT 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", "Environment :: MacOS X", "Operating System :: MacOS :: MacOS X", ] keywords = [ "mlx", "llm", "speculative-decoding", "diffusion", "dflash", "inference", "apple-silicon", "qwen3", "llama", "mistral", "gemma", "block-diffusion", "text-generation", "inference-acceleration" ] requires-python = ">=3.9" dependencies = [ "mlx>=0.25.0", "mlx-lm>=0.24.0", "transformers>=4.57.0", "torch>=2.9.0", "safetensors>=0.4.0", "huggingface-hub>=0.25.0", "datasets>=2.14.0", "numpy>=1.24.0", ] [project.optional-dependencies] server = [ "fastapi>=0.100.0", "uvicorn>=0.23.0", ] dev = [ "pytest>=7.0.0", "pytest-cov>=4.0.0", "black>=23.0.0", "ruff>=0.1.0", ] [project.urls] Homepage = "https://huggingface.co/tritesh/dflash-mlx-universal" Repository = "https://huggingface.co/tritesh/dflash-mlx-universal" Documentation = "https://huggingface.co/tritesh/dflash-mlx-universal/blob/main/README.md" Issues = "https://huggingface.co/tritesh/dflash-mlx-universal/discussions" [project.scripts] dflash-mlx-serve = "dflash_mlx.serve:main" dflash-mlx-convert = "dflash_mlx.convert:main" [tool.setuptools.packages.find] where = ["."] include = ["dflash_mlx*", "tests*", "examples*"] [tool.black] line-length = 100 target-version = ['py311'] [tool.ruff] line-length = 100 select = ["E", "F", "W", "I"] ignore = ["E501"] # ────────────────────────────────────────────────────────────────────────────── # UV (Ultra-fast Python package manager) configuration # ────────────────────────────────────────────────────────────────────────────── [tool.uv] # Use the project Python version python-preference = "only-managed" # Default environment default-groups = ["dev"] # Allow pre-releases for MLX (which often has beta releases) prerelease = "allow" # Resolution strategy resolution = "highest" # Cache directory (default is fine, but can be overridden) # cache-dir = "~/.cache/uv" [tool.uv.pip] # Use PEP 517 builds for packages that need compilation no-build-isolation = false [tool.uv.sources] # Pin mlx-lm to a known-good version range if needed # mlx-lm = { url = "https://files.pythonhosted.org/packages/..." } [dependency-groups] dev = [ "pytest>=7.0.0", "pytest-cov>=4.0.0", "black>=23.0.0", "ruff>=0.1.0", "mypy>=1.5.0", ] server = [ "fastapi>=0.100.0", "uvicorn>=0.23.0", ]