[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "unlimited-ocr" version = "0.3.0" description = "Unlimited-OCR inference toolkit for Apple MLX and NVIDIA CUDA/vLLM" readme = "README.md" license = "MIT" requires-python = ">=3.10" authors = [ { name = "AutomatosX" }, ] keywords = ["ocr", "mlx", "cuda", "vllm", "document-parsing", "vision-language-model"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Environment :: GPU :: NVIDIA CUDA", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "Pillow>=10.0", "numpy", "pymupdf>=1.24", # mlx-vlm already requires the non-headless OpenCV distribution. Requiring # the headless wheel as well installs two distributions that own `cv2`. "opencv-python>=4.12", "click>=8.0", "rich>=13.0", "huggingface-hub>=0.20", ] [project.optional-dependencies] mlx = [ # Unlimited-OCR support first shipped in mlx-vlm 0.6.4. Keeping MLX # optional lets the same wheel install on Linux CUDA hosts. "mlx-vlm>=0.6.4; platform_system == 'Darwin'", "mlx>=0.31.2; platform_system == 'Darwin'", ] vllm-client = ["httpx>=0.27,<1"] vllm-server = [ # Unlimited-OCR became a native architecture in vLLM 0.25. "vllm>=0.25.1,<0.26; platform_system == 'Linux' and platform_machine == 'x86_64'", "httpx>=0.27,<1", ] server = ["fastapi>=0.100", "uvicorn[standard]>=0.20", "python-multipart>=0.0.5"] dev = ["pytest>=7.0", "pytest-asyncio>=0.21", "httpx>=0.24"] [project.scripts] unlimited-ocr = "unlimited_ocr.cli:main" [project.urls] Homepage = "https://huggingface.co/AutomatosX/AX-Unlimited-OCR-3B-MoE-MLX-MXFP8" Repository = "https://huggingface.co/AutomatosX/AX-Unlimited-OCR-3B-MoE-MLX-MXFP8" [tool.hatch.build.targets.wheel] packages = ["src/unlimited_ocr"]