Features
Python-powered pages
Write pages as Python functions using nitro-ui. No template language to learn.
Live reload
Development server with automatic browser refresh on every file change.
Incremental builds
Only rebuilds changed pages. Full builds stay fast as your site grows.
Dynamic routes
Generate pages from data with [slug].py pattern. Perfect for blogs and catalogs.
Image optimization
Responsive images with WebP and AVIF conversion at build time.
Islands architecture
Partial hydration for interactive components without shipping JS for the entire page.
Plugin system
Hook into the build lifecycle with nitro-dispatch. Extend anything.
One-click deploy
Deploy to Netlify, Vercel, or Cloudflare Pages with a single command.
Draft pages
Mark pages as drafts to preview during development but exclude from production.
Quick example
from nitro_ui import HTML, Head, Body, Title, Meta, H1, Paragraph
from nitro import Page
def render():
content = HTML(
Head(
Meta(charset="UTF-8"),
Title("My Page"),
),
Body(
H1("Hello, World!"),
Paragraph("Built with Nitro."),
),
)
return Page(title="My Page", content=content)