Kaze started as a starter kit for agency client sites: a homepage, an about page, a contact page, articles, and case studies. The same shape kept coming up, so the build step became one Python file that fills HTML templates from JSON content.

It is not trying to replace established static site generators. It is a small, readable alternative for one kind of site.

What Kaze does

  • Reads content/site.json, content/team.json, and JSON files in content/articles/ and content/case-studies/.
  • Fills the HTML templates in templates/ and writes plain HTML to dist/.
  • Converts article bodies from a basic subset of Markdown.
  • Writes a sitemap.xml, plus Article and FAQPage JSON-LD for articles.
  • Uses only the Python standard library, so a fresh Python 3.8+ install can build it.

What Kaze does not do

  • No custom routing. The page types are fixed. Adding a new kind of page means editing build.py.
  • Basic Markdown. Headings, lists (one level), links, bold, italic, inline code, fenced code blocks, blockquotes, and rules. No tables, images, or nested lists.
  • Minimal templating. {{placeholder}} replacement and simple show/hide blocks. No loops or inheritance; repeated items are rendered in Python.
  • No plugins, themes, or image processing.

Which tool to pick instead

  • Hugo: if you want a mature, very fast generator with many themes. It ships as a single binary, so it is also dependency-free in practice.
  • Pelican: if you want a full-featured Python generator with Jinja2 templates and plugins, and you are fine with a pip install.
  • Eleventy: if you are comfortable with Node.js and want flexible templating with a simple model.
  • Astro: if your site needs components or client-side interactivity, or you want its integrations ecosystem.

When Kaze fits

Kaze fits when your site matches the built-in page types, you want to understand every line of the build, and you would rather edit a small Python file than learn a framework's configuration. If that is not you, one of the tools above will serve you better.