Simple HTML Generation https://minihtml.trendels.name/
1[project]
2name = "minihtml"
3version = "0.2.3"
4description = "Simple HTML Generation"
5readme = "README.md"
6authors = [
7 { name = "Stanis Trendelenburg", email = "stanis.trendelenburg@gmail.com" }
8]
9requires-python = ">=3.10"
10dependencies = [
11 "typing-extensions>=4.12.2 ; python_full_version < '3.11'",
12]
13license = "MIT"
14license-files = ["LICENSE"]
15
16[project.urls]
17Homepage = "https://github.com/trendels/minihtml"
18Source = "https://github.com/trendels/minihtml"
19Changelog = "https://github.com/trendels/minihtml/blob/main/Changelog.md"
20
21[build-system]
22requires = ["hatchling"]
23build-backend = "hatchling.build"
24
25[dependency-groups]
26dev = [
27 "cogapp>=3.4.1",
28 "coverage>=7.6.11",
29 "pyright>=1.1.393",
30 "pytest>=8.3.4",
31 "pytest-asyncio>=0.25.3",
32 "pyyaml>=6.0.2",
33 "ruff>=0.9.5",
34 "taskgroup>=0.2.2 ; python_full_version < '3.11'",
35]
36docs = [
37 "furo>=2024.8.6",
38 "sphinx>=8.2.0 ; python_full_version >= '3.11'",
39 "sphinx-copybutton>=0.5.2",
40]
41
42[tool.ruff]
43include = [
44 "pyproject.toml",
45 "src/**/*.py",
46 "tests/**/*.py",
47 "examples/**.py",
48]
49extend-exclude = ["src/minihtml/tags.py"]
50
51[tool.ruff.lint]
52extend-select = [
53 "I", # isort
54]
55ignore = [
56 "E731", # lambda assignment
57]
58
59[tool.pyright]
60venvPath = "."
61venv = ".venv"
62include = ["src", "tests", "examples"]
63strict = ["src", "tests"]
64reportUnnecessaryTypeIgnoreComment = true
65
66[tool.coverage.run]
67branch = true
68source = ["src"]
69
70[tool.coverage.report]
71exclude_also = [
72 "@overload$",
73 "raise NotImplementedError",
74]
75
76[tool.pytest.ini_options]
77testpaths = "tests"
78verbosity_assertions = 2
79asyncio_mode = "auto"
80asyncio_default_fixture_loop_scope = "function"
81
82[tool.uv.sources]
83sphinx = { git = "https://github.com/trendels/sphinx", branch = "trendels/overload-patch" }