pyproject.toml•2.38 kB
[build-system]
build-backend = "hatchling.build"
requires = ["hatchling"]
[dependency-groups]
dev = [
"bump2version",
"isort",
"mypy==1.11.2",
"pre-commit",
"pytest",
"pytest-asyncio==0.23.8",
"pytest-cov==4.1.0",
"ruff==0.4.6",
"types-requests"
]
docs = [
"mkdocs",
"mkdocs-gen-files",
"mkdocs-jupyter",
"mkdocs-material",
"mkdocstrings[python]>=0.28.1"
]
[project]
dependencies = [
"mcp[cli]>=1.5.0",
]
description = "Add your description here"
name = "mcp-is-dangerous"
readme = "README.md"
requires-python = ">=3.12"
version = "0.0.4"
license = "MIT"
[project.scripts]
mcp-is-dangerous = "mcp_is_dangerous:main"
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"@overload",
"if TYPE_CHECKING:",
"if typing.TYPE_CHECKING:"
]
[tool.coverage.run]
branch = true
command_line = "-m pytest"
source = ["mcp_is_dangerous"]
[tool.mypy]
disallow_untyped_defs = true
ignore_missing_imports = true
python_version = "3.12"
[tool.ruff]
exclude = ["docs", "build"]
line-length = 88
# Allow unused variables when underscore-prefixed.
target-version = "py312"
[tool.ruff.lint]
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
extend-select = [
"D401", # First line should be in imperative mood
"D400", # First line should end in a period.
"D404", # First word of the docstring should not be 'This'
"TID252" # No relative imports (not pep8 compliant)
]
ignore = [
"PLR2004", # magic value used in comparsion (i.e. `if ndays == 28: month_is_feb`).
"PLR0913", # too many arguments
"D401" # first line of docstring should be in imperative mood
]
select = [
"E", # pycodestyle
"F", # pyflakes
"B", # flake8-bugbear
"D", # pydocstyle
"C90", # mccabe complexity
"I", # isort
"N", # PEP8-naming
"UP", # pyupgrade (upgrade syntax to current syntax)
"PLE", # Pylint error https://github.com/charliermarsh/ruff#error-ple
"PLR", # Pylint refactor (e.g. too-many-arguments)
"PLW" # Pylint warning (useless-else-on-loop)
]
[tool.ruff.lint.isort]
force-single-line = true
known-first-party = ["mcp_is_dangerous"]
lines-after-imports = 2
no-lines-before = ["future", "standard-library", "third-party", "first-party", "local-folder"]
[tool.ruff.lint.mccabe]
max-complexity = 10
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["D"]
[tool.ruff.lint.pydocstyle]
convention = "google"