[build-system] requires = ["setuptools>=61", "wheel"] build-backend = "setuptools.build_meta" [project] name = "pbirb-mcp" version = "0.4.1" description = "MCP server for editing Power BI Report Builder paginated reports (RDL)" readme = "README.md" requires-python = ">=3.9" license = { text = "MIT" } authors = [{ name = "Muhammad Afaq", email = "muhammadafaq1999@gmail.com" }] keywords = [ "mcp", "model-context-protocol", "power-bi", "report-builder", "paginated-reports", "rdl", "ssrs", "claude", "anthropic", ] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "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 :: Software Development", "Topic :: Software Development :: Code Generators", "Topic :: Text Processing :: Markup :: XML", ] dependencies = [ "lxml>=4.9", ] [project.optional-dependencies] dev = [ "pytest>=7", "ruff>=0.6", "pre-commit>=3", ] [project.urls] Homepage = "https://github.com/mafaq229/pbirb-mcp" Repository = "https://github.com/mafaq229/pbirb-mcp" Issues = "https://github.com/mafaq229/pbirb-mcp/issues" Changelog = "https://github.com/mafaq229/pbirb-mcp/blob/main/CHANGELOG.md" [project.scripts] pbirb-mcp = "pbirb_mcp_server:main" [tool.setuptools] py-modules = ["pbirb_mcp_server"] [tool.setuptools.packages.find] include = ["pbirb_mcp*"] exclude = ["tests*"] [tool.setuptools.package-data] pbirb_mcp = ["schemas/*.xsd", "templates/*.xml"] [tool.ruff] line-length = 100 target-version = "py39" extend-exclude = [ ".venv", "build", "dist", "*.egg-info", ] [tool.ruff.lint] select = [ "E", # pycodestyle errors "F", # pyflakes "W", # pycodestyle warnings "I", # isort "UP", # pyupgrade "B", # flake8-bugbear "SIM", # flake8-simplify ] ignore = [ "E501", # Line too long — long XML strings and tool descriptions are unavoidable "UP007", # PEP 604 `X | Y` not available at runtime on Python 3.9 "UP045", # PEP 604 `X | None` not available at runtime on Python 3.9 ] [tool.ruff.lint.per-file-ignores] "tests/*" = [ "B011", # `assert False` is fine in tests ] [tool.ruff.format] quote-style = "double" indent-style = "space"