[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>=2.1.4", "pygments>=2.19.1", "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 enableTypeIgnoreComments = true reportIgnoreCommentWithoutRule = false allowedUntypedLibraries = ["frontmatter", "pygments"] [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", "types-pygments>=2.19.0.20250516", ]