| [build-system] |
| requires = ["setuptools>=61.0", "wheel"] |
| build-backend = "setuptools.build_meta" |
|
|
| [project] |
| name = "sam3-mlx" |
| version = "0.1.0" |
| description = "Segment Anything Model 3 (SAM3) implemented in Apple MLX for native Metal acceleration" |
| readme = "README.md" |
| requires-python = ">=3.9" |
| license = {text = "MIT"} |
| authors = [ |
| {name = "SAM3 MLX Contributors"}, |
| ] |
| keywords = [ |
| "segment-anything", |
| "sam3", |
| "mlx", |
| "apple-silicon", |
| "computer-vision", |
| "segmentation", |
| "metal", |
| "machine-learning", |
| "deep-learning", |
| ] |
| classifiers = [ |
| "Development Status :: 4 - Beta", |
| "Intended Audience :: Developers", |
| "Intended Audience :: Science/Research", |
| "License :: OSI Approved :: MIT License", |
| "Operating System :: MacOS", |
| "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", |
| "Topic :: Scientific/Engineering :: Image Recognition", |
| ] |
|
|
| dependencies = [ |
| "mlx>=0.20.0", |
| "numpy>=1.23.0", |
| "pillow>=9.0.0", |
| ] |
|
|
| [project.optional-dependencies] |
| dev = [ |
| "pytest>=7.0", |
| "pytest-cov>=4.0", |
| "black>=23.0", |
| "ruff>=0.1.0", |
| "mypy>=1.0", |
| ] |
| examples = [ |
| "matplotlib>=3.5.0", |
| "tqdm>=4.65.0", |
| ] |
| all = [ |
| "sam3-mlx[dev,examples]", |
| ] |
|
|
| [project.urls] |
| Homepage = "https://github.com/yourusername/sam3-mlx" |
| Repository = "https://github.com/yourusername/sam3-mlx" |
| Documentation = "https://github.com/yourusername/sam3-mlx#readme" |
| "Bug Tracker" = "https://github.com/yourusername/sam3-mlx/issues" |
|
|
| [project.scripts] |
| sam3-segment = "sam3_mlx.cli:main" |
|
|
| [tool.setuptools] |
| packages = ["sam3_mlx", "sam3_mlx.models", "sam3_mlx.utils"] |
|
|
| [tool.setuptools.package-data] |
| sam3_mlx = ["py.typed"] |
|
|
| [tool.black] |
| line-length = 100 |
| target-version = ['py39', 'py310', 'py311'] |
| include = '\.pyi?$' |
|
|
| [tool.ruff] |
| line-length = 100 |
| target-version = "py39" |
| select = ["E", "F", "I", "N", "W"] |
| ignore = ["E501"] |
|
|
| [tool.mypy] |
| python_version = "3.9" |
| warn_return_any = true |
| warn_unused_configs = true |
| disallow_untyped_defs = true |
| disallow_incomplete_defs = true |
|
|
| [tool.pytest.ini_options] |
| testpaths = ["tests"] |
| python_files = "test_*.py" |
| python_classes = "Test*" |
| python_functions = "test_*" |
| addopts = "-v --cov=sam3_mlx --cov-report=term-missing" |
|
|