Install
pip install kida-templates
Requires Python 3.14 or later. See installation for alternative methods.
Render a Typed Component
from kida import Environment
env = Environment()
template = env.from_string("""
{% def badge(label: str) %}<strong>{{ label }}</strong>{% enddef %}
{{ badge("Ready") }}
""")
print(template.render().strip())
# Output: <strong>Ready</strong>
What's Next?
Build Typed Components
Start Here
Defs, slots, and static validation
Catch bad component props before rendering withkida check --validate-calls.
Component Comparison
Kida components vs Jinja2 macros
See how typed props, named slots, and validation change composition.
Quickstart
Complete walkthrough in 2 minutes
Build and render your first file-based template.
First Project
Inheritance, filters, and multi-page rendering
Build a mini email template system with shared layouts.
Coming from Jinja2
Quick syntax cheat sheet
See what's familiar, what changes, and what Kida adds beyond Jinja2.
T-String Templates
PEP 750 inline templates
Use Python 3.14 t-strings for auto-escaped HTML snippets.
Syntax Guide
Variables, control flow, filters
Learn the template language from basics to advanced.
Tutorials
Step-by-step guides
Flask, Django, Starlette integration and more.
Quick Links
- API Reference — Environment, Template, Loaders
- Components — Typed props, slots, and validation
- Filters — All built-in filters
- vs Jinja2 — Feature comparison
- Full Migration Guide — Step-by-step with verification