Bengal is a static site generator where the entire stack is Python you can read, debug, and extend. Every library in the pipeline — Patitas (markdown), Rosettes (syntax highlighting), Kida (templates), Pounce (dev server) — is purpose-built for Python 3.14+ free-threading. No JavaScript toolchains. No compiled C extensions in the critical path.pip install bengaland go.
Why Bengal?
| Benefit | What It Means |
|---|---|
| Scales with cores | True thread parallelism on Python 3.14t — no GIL contention. See Benchmarks |
| AI-native output | llms.txt, agent manifests, per-page JSON, Content Signals — machines can discover and navigate your docs |
| Sub-second rebuilds | Provenance-based incremental builds with content-addressed hashing |
| Python-native workflows | Jupyter rendering, autodoc for Python/CLI/OpenAPI,pip installand go |
| Batteries included | Sitemap, RSS, social cards, search indexes, broken link detection, validation |
| Extensible | Pluggable engines, theme inheritance, swizzling, 9 plugin extension points |
Use Cases
- Documentation Sites — Versioned docs, API reference, search, and internal linking
- Blogs & Journals — Tags, categories, feeds, related content, and social sharing
- Knowledge Bases — Markdown-first publishing with validation and JSON search indexes
- Product & Marketing Sites — Landing pages, content collections, and social cards
Philosophy
Bengal prioritizes correctness over backwards compatibility. Each release reflects our best design. When better approaches emerge, behavior may change.
See Project Philosophy for details.
Project Philosophy
Bengal prioritizes correctness over compatibility.
For Python Teams
Why Bengal is the natural documentation choice for teams already working in Python
Key Capabilities
What Bengal does
Performance Benchmarks
Measured build times for Bengal across different site sizes and configurations
Frequently Asked Questions
Answers to common questions about Bengal's features, limitations, and compatibility.
Free-Threading
How Bengal uses Python 3.14t for parallel page rendering
Limitations
What Bengal doesn't do
Core Concepts
Foundational concepts for understanding Bengal
Glossary
Definitions of terms used throughout Bengal documentation
The Bengal Ecosystem
A structured reactive stack — every layer written in pure Python for 3.14t free-threading
In This Section
Core Concepts
Foundational concepts for understanding Bengal
For Python Teams
Why Bengal is the natural documentation choice for teams already working in Python
Free-Threading
How Bengal uses Python 3.14t for parallel page rendering
Frequently Asked Questions
Answers to common questions about Bengal's features, limitations, and compatibility.
Glossary
Definitions of terms used throughout Bengal documentation
Key Capabilities
What Bengal does
Limitations
What Bengal doesn't do
Performance Benchmarks
Measured build times for Bengal across different site sizes and configurations
Project Philosophy
Bengal prioritizes correctness over compatibility. What that means for upgrades and contributions.
The Bengal Ecosystem
A structured reactive stack — every layer written in pure Python for 3.14t free-threading