pyproject.toml•2.75 kB
[project]
name = "saleor-mcp"
version = "0.1.0"
description = "MCP server for Saleor Commerce"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"fastmcp>=0.2.0",
"uvicorn>=0.24.0",
"httpx>=0.25.0",
"pydantic>=2.5.0",
"graphql-core>=3.2.0",
"ariadne-codegen>=0.15.2",
"python-json-logger>=3.3.0",
]
[build-system]
requires = ["uv_build>=0.8.13,<0.9.0"]
build-backend = "uv_build"
[project.scripts]
saleor-mcp = "saleor_mcp.main:main"
[dependency-groups]
dev = [
"pytest>=7.4.0",
"pytest-asyncio>=0.21.0",
"httpx>=0.25.0",
"ruff>=0.1.0",
"pytest-socket>=0.7.0",
"ipdb>=0.13.13",
]
[tool.ruff]
target-version = "py312"
line-length = 88
exclude = ["src/saleor_mcp/saleor_client/*"]
[tool.ruff.lint]
select = [
"ASYNC",
"B",
"C4",
"D",
"DTZ",
"E",
"F",
"FURB",
"G",
"I",
"ISC001",
"ISC002",
"LOG",
"PGH",
"PIE",
"PT",
"PYI",
"RET",
"T20",
"UP",
"W"
]
ignore = [
"B009", # Do not call getattr with a constant value
"B010", # Do not call setattr with a constant value
"B023", # Function definition does not bind loop variable
"D100", # Missing docstring in public module
"D101", # Missing docstring in public class
"D102", # Missing docstring in public method
"D103", # Missing docstring in public function
"D104", # Missing docstring in public package
"D105", # Missing docstring in magic method
"D106", # Missing docstring in public nested class
"D107", # Missing docstring in __init__
"D202", # No blank lines allowed after function docstring
"D203", # 1 blank line required before class docstring
"D206", # Docstring should be indented with spaces, not tabs
"D213", # Multi-line docstring summary should start at the second line
"D407", # Missing dashed underline after section
"E501", # Line too long
"PT019", # Fixture without value is injected as parameter, use @pytest.mark.usefixtures instead
"PYI041", # Use `float` instead of `int | float`
"RET504", # Unnecessary assignment before return statement
"UP046" # Parameter syntax for generic classes; not supported by mypy: https://github.com/python/mypy/issues/18507
]
[tool.ruff.lint.flake8-pytest-style]
fixture-parentheses = false
mark-parentheses = false
[tool.pytest.ini_options]
minversion = "7.4.0"
python_files = "test_*.py"
addopts = [
"--disable-socket",
"--allow-unix-socket",
]
[tool.ariadne-codegen]
remote_schema_url = "https://master.staging.saleor.cloud/graphql/"
queries_path = "src/saleor_mcp/graphql"
target_package_name = "saleor_client"
target_package_path = "src/saleor_mcp"
convert_to_snake_case = false