[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "webscraper"
dynamic = ["version"]
description = "MCP server for web scraping: fetch pages, extract links/tables, sitemap parsing"
readme = "README.md"
requires-python = ">=3.11"
license = "MIT"
authors = [{name = "Patrick Plate", email = "patrickplate@gmx.de"}]
dependencies = [
  "fastmcp>=0.1.0",
  "httpx>=0.28.0",
  "beautifulsoup4>=4.14.0",
  "lxml>=6.0.0",
  "html2text>=2025.4.15",
]

[project.optional-dependencies]
test = [
  "pytest>=7.0",
  "pytest-mock>=3.0",
  "pytest-cov>=4.0",
]

[tool.hatch.version]
path = "src/__init__.py"

[tool.hatch.build.targets.sdist]
include = ["/src", "/tests"]

[tool.hatch.build.targets.wheel]
include = ["/src", "/tests"]
packages = ["src/webscraper"]

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = "test_*.py"
python_classes = "Test*"
python_functions = "test_*"
addopts = "--cov=src --cov-report=term-missing --cov-report=xml"
