[project]
name = "minihtml"
version = "0.2.3"
description = "Simple HTML Generation"
readme = "README.md"
authors = [
{ name = "Stanis Trendelenburg", email = "stanis.trendelenburg@gmail.com" }
]
requires-python = ">=3.10"
dependencies = [
"typing-extensions>=4.12.2 ; python_full_version < '3.11'",
]
license = "MIT"
license-files = ["LICENSE"]
[project.urls]
Homepage = "https://github.com/trendels/minihtml"
Source = "https://github.com/trendels/minihtml"
Changelog = "https://github.com/trendels/minihtml/blob/main/Changelog.md"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[dependency-groups]
dev = [
"cogapp>=3.4.1",
"coverage>=7.6.11",
"pyright>=1.1.393",
"pytest>=8.3.4",
"pytest-asyncio>=0.25.3",
"pyyaml>=6.0.2",
"ruff>=0.9.5",
"taskgroup>=0.2.2 ; python_full_version < '3.11'",
]
docs = [
"furo>=2024.8.6",
"sphinx>=8.2.0 ; python_full_version >= '3.11'",
"sphinx-copybutton>=0.5.2",
]
[tool.ruff]
include = [
"pyproject.toml",
"src/**/*.py",
"tests/**/*.py",
"examples/**.py",
]
extend-exclude = ["src/minihtml/tags.py"]
[tool.ruff.lint]
extend-select = [
"I", # isort
]
ignore = [
"E731", # lambda assignment
]
[tool.pyright]
venvPath = "."
venv = ".venv"
include = ["src", "tests", "examples"]
strict = ["src", "tests"]
reportUnnecessaryTypeIgnoreComment = true
[tool.coverage.run]
branch = true
source = ["src"]
[tool.coverage.report]
exclude_also = [
"@overload$",
"raise NotImplementedError",
]
[tool.pytest.ini_options]
testpaths = "tests"
verbosity_assertions = 2
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
[tool.uv.sources]
sphinx = { git = "https://github.com/trendels/sphinx", branch = "trendels/overload-patch" }