typy is a Python library for generating polished PDFs with Typst. It provides:
- a typed Python API
- a CLI for quick rendering workflows
- reusable built-in templates (report, invoice, letter, CV, presentation, and more)
Warning
typy is still experimental and APIs may change between releases.
| report | invoice | letter |
|---|---|---|
![]() |
![]() |
![]() |
| cv | academic | presentation |
![]() |
![]() |
![]() |
pip install typy
# or
uv add typytypy scaffold report --output data.json
typy render --template report --data data.json --output report.pdffrom typy.builder import DocumentBuilder
from typy.templates import BasicTemplate
template = BasicTemplate(
title="Hello typy",
date="2026-04-24",
author="Your Name",
body="## Welcome\n\nThis PDF was generated from Python.",
)
DocumentBuilder().add_template(template).save_pdf("hello-typy.pdf")Published documentation website: mgoulao.github.io/typy
Source docs in this repository:
- Getting started
- Cookbook
- Template reference
- CLI reference
- API reference
- Package format
- LLM-oriented docs
Runnable examples are in examples/:
Contributor workflows (tests, linting, docs build, and release practices) are documented in DEVELOPMENT.md.





