- Home
- gRPC Tools
- sabledocs
sabledocs
What it is
Sabledocs is a free, open-source static documentation generator for Protobuf and gRPC contracts. It runs from the command line and produces static HTML documentation, including a single site for multiple packages and combined Protobuf and gRPC material. Its input is a binary descriptor generated with protoc; comments require the descriptor to include source information. Search is enabled by default and can use a prebuilt Lunr index, while Markdown is supported in the main content page and Protobuf comments. Configuration in sabledocs.toml covers titles, paths, package visibility, member ordering, comment filtering, and other settings. Jinja templates can customize primary content, and extra templates can be added to the output. Configuration can also add source links for model members in GitHub, Bitbucket, Bitbucket Data Center, or GitLab repositories. The generated site is placed in sabledocs_output and can be opened through index.html. The package requires Python 3.11 or higher and is installed with pip. A Docker image includes both protoc and Sabledocs.
For and against
For
- Builds one documentation site for multiple packages
- Search is enabled by default
- Supports Markdown in pages and Protobuf comments
- Jinja templates and extra output templates are configurable
- Docker image includes protoc and Sabledocs
Against
- Requires Python 3.11 or higher
- Build input must be a binary Protobuf descriptor
- Comments require source information in the descriptor
The verdict
Sabledocs offers a configurable static documentation workflow for Protobuf and gRPC contracts. Its main prerequisite is preparing the expected descriptor input, including source information when comments should appear.
Who it suits
Sabledocs suits developers or teams generating and publishing reference documentation for Protobuf and gRPC contracts, including through CI builds. It is useful when the workflow can provide a protoc-generated descriptor and Python 3.11 or higher.
Plans and prices
Sabledocs
Open-source static generator · requires Python 3.11+ and a Protobuf descriptor file
Read 7 Oct 2026 · markvincze.github.io
On the record
- Audience
- The documented workflow is for people generating and publishing reference documentation for Protobuf and gRPC contracts, including in CI builds.markvincze.github.io · read 7 Oct 2026
- Comment parsing
- An advanced option lets users preprocess Protobuf comments with a custom Python parser; the page cautions that this may make whitespace-sensitive formatting harder.markvincze.github.io · read 4 Oct 2026
- Contract support
- It can combine Protobuf and gRPC contracts in generated documentation.markvincze.github.io · read 4 Oct 2026
- Customization
- Users can configure titles, input and output paths, package visibility, member ordering, comment filtering, and other generation options in sabledocs.toml.markvincze.github.io · read 7 Oct 2026
- Custom templates
- Users can configure Jinja templates for primary content and add extra templates to generated output.markvincze.github.io · read 4 Oct 2026
- Distribution
- The documentation instructs users to install the package with pip install sabledocs.markvincze.github.io · read 7 Oct 2026
- Docker
- A Docker image is available for CI and other workflows, with protoc and Sabledocs preinstalled.markvincze.github.io · read 7 Oct 2026
- Free and open source
- The demo page describes Sabledocs as free and open source.markvincze.github.io · read 4 Oct 2026
- Generation
- Sabledocs uses a command-line interface to generate static HTML documentation.markvincze.github.io · read 4 Oct 2026
- Input
- It builds documentation from a binary Protobuf descriptor generated with protoc, and comments require the --include_source_info flag to be included.markvincze.github.io · read 7 Oct 2026
- License and project status
- The maker’s site describes the project as open source.markvincze.github.io · read 7 Oct 2026
- Markdown
- Markdown is supported in the main content page and Protobuf comments, including fenced and indented code blocks.markvincze.github.io · read 7 Oct 2026
- Multiple packages
- It can build one documentation site for multiple packages.markvincze.github.io · read 4 Oct 2026
- Output
- The generator creates a documentation site in sabledocs_output that can be opened through index.html.markvincze.github.io · read 7 Oct 2026
- Prerequisite
- The package requires Python 3.11 or higher, and the build process uses a binary descriptor generated with protoc.markvincze.github.io · read 4 Oct 2026
- Purpose
- Sabledocs is a static documentation generator for Protobuf and gRPC contracts.markvincze.github.io · read 7 Oct 2026
- Runtime requirement
- The package requires Python version 3.11 or higher.markvincze.github.io · read 7 Oct 2026
- Search
- A prebuilt Lunr search index can be enabled or disabled through configuration and defaults to enabled.markvincze.github.io · read 7 Oct 2026