[project]
name = "minestrone"
version = "0.9.0"
description = "Search, modify, and parse messy HTML with ease."
authors = [{ name = "adamghill", email = "adam@adamghill.com" }]
license = { text = "MIT" }
readme = "README.md"
requires-python = ">=3.10"
keywords = ["python", "html", "beautifulsoup"]
dependencies = [
    "selectolax",
]

[project.urls]
Homepage = "https://github.com/adamghill/minestrone/"
Repository = "https://github.com/adamghill/minestrone/"
Documentation = "http://minestrone.readthedocs.io/"
Funding = "https://github.com/sponsors/adamghill"

[dependency-groups]
dev = [
    "pytest>=6",
    "sphinx-autobuild>=2021.3.14",
    "ty",
    "coverage[toml]>=6.2",
    "pytest-cov>=3",
    "ruff",
    "pytest-benchmark>=4.0.0",
    "typeguard",
    "toml",
]
docs = [
    "Sphinx>=4.3.2",
    "linkify-it-py>=1.0.3",
    "myst-parser>=0.16.1",
    "furo>=2021.11.23",
    "sphinx-copybutton>=0.4.0",
    "attrs>=21.4.0",
    "toml",
]

[tool.pytest]
addopts = ["--quiet", "--failed-first", "-p", "no:warnings", "--benchmark-skip", "--typeguard-packages=minestrone"]
testpaths = ["tests"]

[tool.ruff]
line-length = 88

[tool.ruff.lint]
select = ["E", "F", "I", "D"]
ignore = [
    "E501",
    "D101",
    "D102",
    "D103",
    "D105",
    "D106",
    "D202",
    "D203",
    "D204",
    "D213",
    "D215",
    "D400",
    "D404",
    "D406",
    "D407",
    "D408",
    "D409",
    "D413",
    "D100",
]

[tool.coverage.run]
branch = true
parallel = true

[tool.coverage.report]
show_missing = true
skip_covered = true
skip_empty = true

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