[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", "markdown>=3.8.2", "pygments>=2.19.1", "pygments-ashen>=0.1.3", "pygments-kakoune>=0.1.0", "pymdown-extensions>=10.16", "python-dateutil>=2.9.0.post0", "python-frontmatter>=1.1.0", "rich>=14.0.0", "typer>=0.16.0", "watchdog>=6.0.0", "websockets>=15.0.1", ] [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", "pymdownx"] [tool.ruff] line-length = 70 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", ]