Internationalization

June 3, 2026 ยท View on GitHub

Great Docs

Documentation sites for Python packages: start simple, go deep

PyPI Python versions Downloads MIT License CI


Great Docs turns your Python package into a polished documentation site in minutes. It auto-discovers your public API, detects your docstring format, generates structured reference pages, and renders a modern site, all from a single command. When you're ready to customize, there's a deep set of tools and options waiting for you.

A documentation site generated by Great Docs

Why Great Docs?

Writing documentation shouldn't be harder than writing the code it describes. Most documentation generators require you to author page templates, organize content by hand, and wire up a build system. Great Docs inverts that: point it at a Python package and get a great site right away, then explore further at your own pace.

  • Instant setup: great-docs init inspects your package and generates a complete config
  • Smart defaults: API reference pages are created automatically from your code (no manual authoring needed)
  • Real documentation, not stubs: renders full parameter tables, return types, examples, and cross-references from your existing docstrings
  • Looks great out of the box: gradient navbars, dark mode, responsive layout, GitHub widget, sidebar search, keyboard navigation
  • Deep when you need it: user guides, multi-version docs, freeze caching, link checking, proofreading, SEO, internationalization (20+ languages), and more (all opt-in)
  • AI-ready: auto-generates llms.txt, agent skills, and markdown pages for LLM consumption
  • Deploys anywhere: one command creates a GitHub Actions workflow for GitHub Pages

Get Started in 60 Seconds

Install

pip install great-docs

Initialize, build, and preview

cd your-python-package

great-docs init     # auto-detect package, generate config
great-docs build    # generate and render the site
great-docs preview  # open in your browser at localhost:3000

That's it. Your documentation site is ready.

What Gets Generated

Every site built by Great Docs includes:

Landing Page

Your README is transformed into a landing page with a hero section, metadata sidebar (authors, license, links), and quick-start instructions.

API Reference

Classes, functions, methods, and attributes are automatically organized into categorized sections. Large classes get dedicated method pages. Every item links back to source code on GitHub.

API reference index with categorized sections

See more: class page and method page

A class documentation page with parameters and methods

A method documentation page with signature and examples

CLI Reference

Click-based CLIs get rich, sectioned reference pages with usage signatures, typed options, and descriptions extracted directly from code. Each command page includes structured documentation alongside a collapsible --help output view.

CLI reference page with structured documentation and collapsible help output

MCP Server Reference

If your package ships an MCP server, Great Docs generates structured reference pages for every tool, resource, and prompt it exposes. Parameters, types, required/optional markers, and descriptions are extracted automatically from your server definitions.

Terminal Recordings

Teach your CLI visually with Termshow: record terminal sessions, edit them in a browser-based visual editor, and embed the results as animated SVG players in your documentation. Recordings are lightweight, theme-aware, and play inline without JavaScript dependencies. It so incredibly useful in onboarding guides, tutorials, and landing pages.

Dark Mode

A persistent dark mode toggle with flash-free loading. Your users' preference is remembered across visits.

Documentation site in dark mode

Full Feature Set

Documentation Generation

  • Auto-discovers exports via __all__, dir(), or static analysis
  • Detects NumPy, Google, and Sphinx docstring formats
  • 13 object types with smart categorization
  • Click CLI documentation
  • User Guide pages from user_guide/ directory
  • Custom sections (recipes, blog, tutorials, etc.)
  • Custom HTML pages with passthrough or raw layouts
  • Multi-version documentation with version selector
  • Video embeds (YouTube, Vimeo, local files)
  • Mermaid diagram pre-rendering (light + dark variants)
  • Freeze/cache support for expensive computations

Site Features

  • Dark mode toggle with persistent preference
  • GitHub widget with live star/fork counts
  • Sidebar search filter for large APIs
  • Source links to GitHub for every item
  • Copy-to-clipboard for code blocks
  • Responsive, mobile-friendly layout
  • Page tags and tag index pages
  • Page status badges (experimental, stable, deprecated)
  • API evolution annotations (new, changed, deprecated)
  • Social cards (Open Graph / Twitter)
  • Keyboard navigation with shortcut overlay
  • Back-to-top floating button
  • Navigation icons (Lucide icon set)
  • Scale-to-fit for wide HTML output

AI & LLM Integration

  • Auto-generates llms.txt and llms-full.txt
  • Agent Skills generation (agentskills.io compliant)
  • Multiple named skills per package
  • Skill install/check/list CLI commands
  • Markdown page generation for LLM consumption
  • MCP server reference pages (tools, resources, prompts)

Configuration & Branding

  • Announcement banners (dismissible, styled)
  • Logo with light/dark variants
  • Custom favicon and Open Graph images
  • Author metadata with ORCID support
  • Changelog from GitHub Releases
  • Internationalization (20+ languages)
  • Accent color (global or per-mode)
  • Navbar gradient presets or solid colors
  • Content area gradient presets

Quality & Reliability

  • Built-in link checker
  • Documentation linter (docstrings, cross-refs, style)
  • Proofreading (spelling & grammar)
  • SEO auditing (sitemap, robots.txt, canonical URLs, structured data)
  • API diff between versions
  • Build timings reporting
  • Tested against ~300 synthetic packages via the Great Docs Gauntlet
  • 15,600+ tests

Deployment

  • One-command GitHub Pages setup
  • GitHub Actions workflow generation
  • Multi-version deployment with version selector
  • Floating version aliases (/v/latest/, /v/stable/, /v/dev/)
  • Custom domain support
  • Static output: host anywhere

Shortcodes & Widgets

  • Color swatches (inline and grid)
  • Terminal recordings (record, edit, embed)
  • Collapsible details sections
  • Keyboard keys styling
  • Horizontal rules with accent colors
  • Table previews (Python API for notebooks)
  • Table explorer (interactive data tables)

Developer Experience

  • great-docs init auto-detects package manager (uv, poetry, pip)
  • great-docs freeze for caching expensive computations
  • great-docs timings for build performance insight
  • Pre-render script hooks
  • Page metadata timestamps (creation/modification dates)

Configuration

All configuration lives in a single great-docs.yml file in your project root. The init command generates it for you, but you can customize everything:

# Theming
navbar_style: sky
content_style: lilac
dark_mode_toggle: true
accent_color: "#3b82f6"

# Branding
display_name: My Package
logo:
  light: assets/logo.svg
  dark: assets/logo-dark.svg

# Announcement banner
announcement:
  content: "v2.0 is here!"
  style: mint
  dismissable: true

# GitHub integration
repo: https://github.com/your-org/your-package # Optional override
github_style: widget

# CLI documentation
cli:
  enabled: true
  module: my_package.cli
  name: cli

# Multi-version documentation
versions:
  - tag: v2.0.0
    label: "2.0 (latest)"
  - tag: v1.5.0
    label: "1.5"

# Freeze cache for expensive computations
freeze: auto

# Internationalization
site:
  language: fr

# Custom sections
sections:
  - title: Recipes
    dir: recipes
    navbar_after: User Guide

Custom HTML pages can live in a custom/ directory and are discovered automatically during build.

---
title: Landing Page
layout: passthrough
navbar: true
---
<section class="hero">...</section>

Use layout: passthrough to wrap the HTML body with the normal Great Docs shell, or layout: raw to copy the HTML file through unchanged. Set navbar: true to add the page to the site navbar using its title, or use navbar: {text: Showcase, after: Guide} for explicit navbar label and placement.

See the Configuration Guide for the full reference.

Deploying to GitHub Pages

great-docs setup-github-pages

This creates a .github/workflows/ file that builds and publishes your site on every push to main. Your docs stay in sync with your code automatically.

CLI Commands

Beyond init, build, and preview, Great Docs includes a full suite of quality and maintenance tools:

CommandPurpose
great-docs scanPreview discovered exports before building
great-docs lintCheck for missing docstrings, broken cross-refs, style issues
great-docs proofreadCatch spelling and grammar problems
great-docs check-linksValidate all links in the built site
great-docs seoAudit SEO health (sitemap, meta tags, structured data)
great-docs api-diff OLD NEWShow API changes between two versions
great-docs api-snapshotCapture a JSON snapshot of your public API
great-docs versionsList and validate multi-version configuration
great-docs changelogGenerate changelog from GitHub Releases
great-docs freezeExecute specific pages and persist their freeze cache
great-docs timingsShow page-level build timings from the last build
great-docs setup-github-pagesCreate CI workflow for GitHub Pages deployment
great-docs configGenerate a fully-documented config template
great-docs uninstallRemove great-docs from your project
great-docs skill installInstall AI agent skills for your package
great-docs skill checkCheck if installed skills are up to date
great-docs skill listList available skills from a package or URL
great-docs termshow recordRecord a terminal session as a .termshow file
great-docs termshow editOpen the browser-based visual editor for a recording
great-docs termshow playPreview a recording in the terminal
great-docs termshow renderRender SVG frames without a full site build
great-docs termshow import-castImport an asciinema .cast file

Recipes

The documentation includes 24 step-by-step recipes:

Content & API

RecipeTopic
Hide Internal SymbolsControl what appears in your API reference
Customize API OrganizationStructure reference sections your way
Document a CLIAuto-generate CLI reference from Click
Cross-Reference ItemsLink between documented objects
Write Effective DocstringsGet the most out of auto-generated docs
Add Images & DiagramsInclude visuals in your documentation
Embed VideosAdd YouTube, Vimeo, and local videos

Theming & Appearance

RecipeTopic
Add Custom CSSOverride styles with your own SCSS
Choose Gradient ThemePick and customize navbar gradients
Add Logo & FaviconBrand your site with custom icons
Customize Announcement BannerAdd dismissible site-wide notices

Publishing & Versioning

RecipeTopic
Create ChangelogPull changelog from GitHub Releases
GitHub Pages & CIAutomate deployment with Actions
Add Custom DomainServe docs from your own domain
Enable Multi-Version DocsAdd a version selector to your site
Use Version Fences and BadgesAnnotate version-specific content

AI-Assisted Workflows

RecipeTopic
Install Great Docs SkillGenerate an Agent Skill for your package
Build Site with LLMUse an AI assistant to set up your site
Customize Site with LLMUse an AI assistant to tweak your site
Understand llms.txtMake your docs AI-accessible

Build & Quality

RecipeTopic
Fix Common Build ErrorsTroubleshoot build issues quickly
Proofread DocumentationCatch spelling and grammar issues
Use Freeze CacheCache expensive notebooks across builds

Documentation

Full documentation is available at posit-dev.github.io/great-docs:

Requirements

  • Python 3.11+
  • Quarto (the rendering engine)

Contributing

Contributions are welcome! Please see CONTRIBUTING for guidelines and the Code of Conduct.

License

MIT License. See LICENSE for details.


Built by Posit, PBC.