pyproject.toml•1.97 kB
[tool.poetry]
name = "dvmcp"
version = "0.1.0"
description = "Damn Vulnerable MCP - A FastAPI-based MCP challenges project"
authors = ["Your Name <you@example.com>"]
readme = "README.md"
packages = [
{ include = "common" },
{ include = "challenges" }
]
[tool.poetry.dependencies]
python = "^3.10"
fastapi = ">=0.95.0"
uvicorn = ">=0.21.1"
httpx = ">=0.24.0"
mcp = {extras = ["cli"], version = ">=0.5.0"}
starlette = ">=0.27.0"
[tool.poetry.group.dev.dependencies]
pytest = "^8.0.0"
pytest-cov = "^5.0.0"
pytest-mock = "^3.14.0"
[tool.poetry.scripts]
test = "pytest:main"
tests = "pytest:main"
[tool.pytest.ini_options]
minversion = "8.0"
testpaths = ["tests"]
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
"-ra",
"--strict-markers",
"--strict-config",
"--cov=common",
"--cov=challenges",
"--cov-branch",
"--cov-report=term-missing:skip-covered",
"--cov-report=html:htmlcov",
"--cov-report=xml:coverage.xml",
"--cov-fail-under=0", # TODO: Change to 80 once tests are written
"-vv"
]
markers = [
"unit: Unit tests",
"integration: Integration tests",
"slow: Slow running tests"
]
[tool.coverage.run]
source = ["common", "challenges"]
omit = [
"*/tests/*",
"*/test_*",
"*/__init__.py",
"*/migrations/*",
"*/conftest.py"
]
[tool.coverage.report]
precision = 2
show_missing = true
skip_covered = false
fail_under = 0 # TODO: Change to 80 once tests are written
exclude_lines = [
"pragma: no cover",
"def __repr__",
"if self.debug:",
"if settings.DEBUG",
"raise AssertionError",
"raise NotImplementedError",
"if 0:",
"if __name__ == .__main__.:",
"class .*\\bProtocol\\):",
"@(abc\\.)?abstractmethod"
]
[tool.coverage.html]
directory = "htmlcov"
[tool.coverage.xml]
output = "coverage.xml"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"