zona/pyproject.toml

82 lines
1.6 KiB
TOML

[project]
name = "zona"
version = "0.1.0"
description = "Static site generator"
readme = "README.md"
authors = [
{ name = "Daniel Fichtinger", email = "daniel@ficd.ca" }
]
requires-python = ">=3.12"
dependencies = [
"dacite>=1.9.2",
"jinja2>=3.1.6",
"marko[codehilite]>=2.1.4",
"python-frontmatter>=1.1.0",
"rich>=14.0.0",
"starlette>=0.47.1",
"typer>=0.16.0",
"uvicorn>=0.34.3",
]
[project.scripts]
zona = "zona.cli:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.basedpyright]
include = ["src"]
exclude = [
"**/node_modules",
"**/__pycache__",
"src/experimental",
"src/typestubs",
"src/typings",
]
executionEnvironments = [
{ root = "src" },
{ root = "tests", extraPaths = [
"src",
], reportPrivateUsage = false },
]
# off | basic | standard | strict | recommended | all
typeCheckingMode = "recommended"
reportExplicitAny = false
reportAny = false
reportUnusedCallResult = false
reportCallInDefaultInitializer = false
allowedUntypedLibraries = ["frontmatter"]
[tool.ruff]
line-length = 80
indent-width = 4
target-version = "py311"
[tool.ruff.lint]
fixable = ["ALL"]
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
select = ["E4", "E7", "E9", "F"]
ignore = []
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
docstring-code-format = true
[tool.pytest.ini_options]
pythonpath = "src"
testpaths = ["tests"]
filterwarnings = [
"ignore::DeprecationWarning",
"ignore::UserWarning",
"ignore::FutureWarning",
]
[dependency-groups]
dev = [
"basedpyright>=1.29.4",
"pytest>=8.4.0",
"ruff>=0.11.13",
]