[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "albumentationsx-mcp" version = "1.21.1" description = "Model Context Protocol server for AlbumentationsX augmentation previews, validation, and segmentation review." readme = "README.md" requires-python = ">=3.10" license = "AGPL-3.0-or-later" authors = [{ name = "dKosarevsky" }] keywords = ["albumentationsx", "mcp", "computer-vision", "augmentation", "segmentation"] classifiers = [ "Development Status :: 5 - Production/Stable", "Framework :: Pytest", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Image Processing", "Typing :: Typed", ] dependencies = [ "albu-spec>=0.0.6", "albumentationsx[headless]>=2.3.1", "mcp[cli]>=2.0.0,<3", "numpy>=1.24.4", "pillow>=10.0.0", "pydantic>=2.12.4", "pyyaml>=6.0.0", ] [project.urls] "Homepage" = "https://github.com/dKosarevsky/albu-mcp" "Repository" = "https://github.com/dKosarevsky/albu-mcp" "Documentation" = "https://github.com/dKosarevsky/albu-mcp/blob/main/docs/USAGE.md" "Issues" = "https://github.com/dKosarevsky/albu-mcp/issues" "MCP Registry" = "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.dKosarevsky/albu-mcp" "PyPI" = "https://pypi.org/project/albumentationsx-mcp/" [project.scripts] albumentationsx-mcp = "albumentationsx_mcp.cli:main" albu-mcp = "albumentationsx_mcp.cli:main" [dependency-groups] dev = [ "pytest>=9.0.2", "pytest-cov>=5.0.0", "ruff>=0.15.12", "tomli>=2.0.0", "ty>=0.0.1a21", ] [tool.hatch.build.targets.wheel] packages = ["src/albumentationsx_mcp"] [tool.ruff] target-version = "py310" line-length = 120 [tool.ruff.lint] select = ["ALL"] ignore = [ "ANN401", "C901", "D203", "D213", "D102", "D107", "D401", "COM812", "EM102", "N812", "PLC0415", "TC001", "TC003", "TRY003", ] [tool.ruff.lint.per-file-ignores] "desktop-extension/src/server.py" = ["INP001"] "tests/*" = [ "ANN", "D", "INP001", "PLR2004", "S101", "SLF001", ] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = ["--strict-config", "--strict-markers", "--tb=short"] [tool.ty.environment] python-version = "3.10" python = "./.venv" [tool.ty.src] include = ["src", "tests"]