Cheetah3
Cheetah is a template engine and code generation tool
Decision gist · record as of 2026-08-14
Yes, if you need a mature, dependency-free template engine with broad language support. Cheetah3 is stable, permissively licensed, and actively maintained. Install with caution if targeting Python versions beyond 3.8, as the latest release (2021-02-22) predates recent Python versions; verify compatibility for your specific version before committing to production use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 2.7 or Python 3.4+ (not 3.0–3.3).
- Pre-built wheels are available for common platforms, but source installation may require a C compiler.
- Medium install friction due to compiled wheels for multiple Python versions (2.7 through 3.8).
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute Cheetah3 freely as long as you include the license notice.
last release 2021-02-22 (1999 days) · last repo commit 2026-08-08 · 148 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 405,812 downloads/mo, #6,900 on PyPI
Alternatives
Verify before relying
pip install Cheetah3
from Cheetah.Template import Template
template_text = '#def greet(name)\nHello $name!\n#end def\n$greet("World")'
t = Template(template_text)
print(t)- Whether the package is actively developed or in maintenance-only mode given the gap between last release (2021-02-22) and current date.
- Performance characteristics and typical use-case scale (e.g., template compilation speed, output size limits).
- Compatibility with modern Python versions beyond 3.8 (classifiers list 3.9 but latest release predates widespread 3.9 adoption).
What it is and what it does
Cheetah3 is a template engine that reads template files containing directives and variable placeholders, then generates output in any text-based format—HTML, code, configuration files, or plain text. It compiles templates into Python code for execution, making it suitable for both web frameworks and standalone code generation tasks. The package has no runtime dependencies and works across Python 2.7 and Python 3.4+, supporting both CPython and PyPy.
Typical workflows involve writing a template with Cheetah syntax (variable substitution, conditionals, loops, function definitions), instantiating a Template object, and rendering it to a string. It's commonly used in web development to generate dynamic HTML, but also serves as a general-purpose code generator for C++, Java, SQL, and other languages. The fork maintains compatibility with the original CheetahTemplate library while adding support for modern Python versions.
Use it for
- Generate dynamic HTML pages in web applications by embedding Cheetah templates in a framework.
- Produce boilerplate code (C++, Java, Python) from template definitions during build or scaffolding steps.
- Create form emails and notification templates with dynamic content substitution.
- Generate SQL queries or configuration files from parameterized templates.
- Standalone code generation tool for domain-specific languages or custom DSLs.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need a mature, dependency-free template engine with broad language support.
Cheetah3 is stable, permissively licensed, and actively maintained. Install with caution if targeting Python versions beyond 3.8, as the latest release (2021-02-22) predates recent Python versions; verify compatibility for your specific version before committing to production use.
Install
cheetah3 on PyPI
Before you install
Medium install friction due to compiled wheels for multiple Python versions (2.7 through 3.8). Package is actively maintained with a recent commit on 2026-08-08, though the latest release was 2021-02-22, suggesting stable but infrequent updates.
Requires Python 2.7 or Python 3.4+ (not 3.0–3.3). Pre-built wheels are available for common platforms, but source installation may require a C compiler.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute Cheetah3 freely as long as you include the license notice.
Quickstart
pip install Cheetah3
from Cheetah.Template import Template
template_text = '#def greet(name)\nHello $name!\n#end def\n$greet("World")'
t = Template(template_text)
print(t)
Verify before relying
- Whether the package is actively developed or in maintenance-only mode given the gap between last release (2021-02-22) and current date.
- Performance characteristics and typical use-case scale (e.g., template compilation speed, output size limits).
- Compatibility with modern Python versions beyond 3.8 (classifiers list 3.9 but latest release predates widespread 3.9 adoption).
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 1,999 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 405,812 / month, #6,900 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTPTopic :: Internet :: WWW/HTTP :: Dynamic ContentTopic :: Internet :: WWW/HTTP :: Site ManagementTopic :: Software Development :: Code GeneratorsTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: User InterfacesTopic :: Text Processing |
Evidence: Cheetah3-3.2.6.post1-cp27-cp27m-macosx_10_13_x86_64.whl; Cheetah3-3.2.6.post1-cp27-cp27mu-manylinux1_x86_64.whl; Cheetah3-3.2.6.post1-cp27-cp27m-win32.whl; Cheetah3-3.2.6.post1-cp27-cp27m-win_amd64.whl; Cheetah3-3.2.6.post1-cp35-cp35m-macosx_10_6_x86_64.whl; Cheetah3-3.2.6.post1-cp35-cp35m-manylinux1_x86_64.whl; Cheetah3-3.2.6.post1-cp35-cp35m-win32.whl; Cheetah3-3.2.6.post1-cp35-cp35m-win_amd64.whl; Cheetah3-3.2.6.post1-cp36-cp36m-macosx_10_9_x86_64.whl; Cheetah3-3.2.6.post1-cp36-cp36m-manylinux1_x86_64.whl; Cheetah3-3.2.6.post1-cp36-cp36m-win32.whl; Cheetah3-3.2.6.post1-cp36-cp36m-win_amd64.whl; Cheetah3-3.2.6.post1-cp37-cp37m-macosx_10_9_x86_64.whl; Cheetah3-3.2.6.post1-cp37-cp37m-manylinux1_x86_64.whl; Cheetah3-3.2.6.post1-cp37-cp37m-win32.whl; Cheetah3-3.2.6.post1-cp37-cp37m-win_amd64.whl; Cheetah3-3.2.6.post1-cp38-cp38-macosx_10_9_x86_64.whl; Cheetah3-3.2.6.post1-cp38-cp38-manylinux1_x86_64.whl; Cheetah3-3.2.6.post1-cp38-cp38-win32.whl; Cheetah3-3.2.6.post1-cp38-cp38-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “cheetah templating”
- Cheetah3Cheetah3 is a template engine and code generator that transforms…
- TempitaTempita is a lightweight templating engine that processes text…
- MakoMako compiles Python-embedded templates into Python modules for fast…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also ct3 · licenseheaders · Mako · Tempita · html5tagger · cogapp · Panda3D · htmlBuilder · Sphinx · Jinja2