Skip to content
SPECIFICTION
Get listed

sabledocs

markvincze.github.io

Free plan WindowsmacOSLinux
Visit markvincze.github.io
Spec score 7.8 #14 of 24 in gRPC Tools

What it is

Sabledocs is a free, open-source command-line generator for static HTML documentation of Protobuf and gRPC contracts. It can create one documentation site for multiple packages and combine material for Protobuf and gRPC. The 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 items such as titles, paths, package visibility, member ordering, and comment filtering. Jinja templates can be customized for primary content, and extra templates can be added to the output. Users can configure source links for Protobuf model members in GitHub, Bitbucket, Bitbucket Data Center, and GitLab repositories. The generator writes the site to sabledocs_output, where it can be opened through index.html. Sabledocs requires Python 3.11 or higher and is installed with pip install sabledocs. A Docker image includes both protoc and Sabledocs.

Spec sheet

Purpose
Sabledocs is a static documentation generator for Protobuf and gRPC contracts.Read 7 Oct 2026 · markvincze.github.io
Audience
The documented workflow is for people generating and publishing reference documentation for Protobuf and gRPC contracts, including in CI builds.Read 7 Oct 2026 · markvincze.github.io
Security
The maker’s site does not state security certifications or compliance claims.Read 7 Oct 2026 · markvincze.github.io
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.Read 4 Oct 2026 · markvincze.github.io
Contract support
It can combine Protobuf and gRPC contracts in generated documentation.Read 4 Oct 2026 · markvincze.github.io
Custom templates
Users can configure Jinja templates for primary content and add extra templates to generated output.Read 4 Oct 2026 · markvincze.github.io
Customization
Users can configure titles, input and output paths, package visibility, member ordering, comment filtering, and other generation options in sabledocs.toml.Read 7 Oct 2026 · markvincze.github.io
Distribution
The documentation instructs users to install the package with pip install sabledocs.Read 7 Oct 2026 · markvincze.github.io
Docker
A Docker image is available for CI and other workflows, with protoc and Sabledocs preinstalled.Read 7 Oct 2026 · markvincze.github.io
Free and open source
The demo page describes Sabledocs as free and open source.Read 4 Oct 2026 · markvincze.github.io
Generation
Sabledocs uses a command-line interface to generate static HTML documentation.Read 4 Oct 2026 · markvincze.github.io
Input
It builds documentation from a binary Protobuf descriptor generated with protoc, and comments require the --include_source_info flag to be included.Read 7 Oct 2026 · markvincze.github.io
License and project status
The maker’s site describes the project as open source.Read 7 Oct 2026 · markvincze.github.io
Markdown
Markdown is supported in the main content page and Protobuf comments, including fenced and indented code blocks.Read 7 Oct 2026 · markvincze.github.io
Multiple packages
It can build one documentation site for multiple packages.Read 4 Oct 2026 · markvincze.github.io
Output
The generator creates a documentation site in sabledocs_output that can be opened through index.html.Read 7 Oct 2026 · markvincze.github.io
Prerequisite
The package requires Python 3.11 or higher, and the build process uses a binary descriptor generated with protoc.Read 4 Oct 2026 · markvincze.github.io
Runtime requirement
The package requires Python version 3.11 or higher.Read 7 Oct 2026 · markvincze.github.io
Search
A prebuilt Lunr search index can be enabled or disabled through configuration and defaults to enabled.Read 7 Oct 2026 · markvincze.github.io
Source links
Configuration can create links from documented Protobuf model members to source code repositories on GitHub, Bitbucket, Bitbucket Data Center, or GitLab.Read 7 Oct 2026 · markvincze.github.io
Templates
Jinja templates can be customized, and extra templates can be added to generated output.Read 7 Oct 2026 · markvincze.github.io

Plans and prices

Sabledocs Free Open-source static generator · requires Python 3.11+ and a Protobuf descriptor file Read 7 Oct 2026 · markvincze.github.io

Every sabledocs plan and price →

Strong points and limits

Strong points

  • Generates static HTML for Protobuf and gRPC contracts.
  • One build can cover multiple packages.
  • Search is enabled by default.
  • Docker image includes protoc and Sabledocs.

Limits

  • Requires Python 3.11 or higher.
  • Build input must be a binary Protobuf descriptor.
  • Comments require source information in the descriptor.

Who it suits

It suits developers generating and publishing reference documentation for Protobuf and gRPC contracts, including as part of CI builds. Users need Python 3.11 or higher and a protoc-generated binary descriptor.

sabledocs in depth

Read the full write-up

Sabledocs turns Protobuf and gRPC contracts into static reference sites. It suits teams that want to generate and publish contract documentation from a local build or CI workflow. Its customization is useful, but the descriptor-based workflow and Python requirement narrow its fit.

Overview

This is a documentation generator, not a client for calling or testing gRPC services. It builds a static HTML site from a binary Protobuf descriptor, writing the result to sabledocs_output, where readers can open index.html. That output is straightforward to publish through a team’s existing process; teams that need interactive service access should look elsewhere.

The descriptor must come from protoc. Protobuf comments are included only when the descriptor is generated with --include_source_info, so teams need to preserve that option if comments are part of their reference material.

Key features

Sabledocs can bring Protobuf definitions and gRPC contracts from multiple packages into one site. Search is enabled by default and uses a prebuilt Lunr index, making it easier to navigate generated documentation without a hosted search service.

Markdown works in both the main content page and Protobuf comments. Configuration in sabledocs.toml covers titles, input and output paths, package visibility, member ordering, comment filtering, and other generation choices. These controls are useful when a team needs its reference site to reflect its own conventions rather than accept a fixed layout.

Jinja templates can be customized for primary content, and extra templates can add output files. Source links can also be configured for Protobuf model members, with support for GitHub, Bitbucket, Bitbucket Data Center, and GitLab. An advanced option preprocesses comments with a custom Python parser, though whitespace-sensitive formatting may become harder to manage.

The package requires Python 3.11 or higher. A Docker image comes with both protoc and Sabledocs preinstalled, which can reduce setup work for containerized builds. Installation is through pip install sabledocs.

Pricing

Sabledocs is free and open source. Its Sabledocs plan costs nothing and includes an open-source static generator; it requires Python 3.11 or higher and a Protobuf descriptor file. There are no paid tiers to choose between, so the trade-off is not price but whether the build prerequisites fit the team’s workflow.

Platforms

Sabledocs supports Linux, macOS, and Windows. It is self-hosted: the generator creates files for teams to publish through their own deployment process, rather than providing a hosted documentation service.

Who it's for

This is a good fit for developers and teams responsible for Protobuf and gRPC contracts who want reference documentation generated alongside code, including in CI builds. It is less suitable for readers seeking a general-purpose documentation platform, a hosted publishing service, or a tool to send gRPC requests.

Pros and cons

One site for multiple packages and contract types: teams can combine Protobuf and gRPC material rather than maintain separate references.

Useful presentation controls: Markdown, Jinja templates, configurable generation options, and repository source links let teams adapt the output to their documentation workflow.

Free and open source: there is no subscription cost for the generator.

Specific build prerequisites: teams need Python 3.11 or higher and a binary descriptor from protoc; comment documentation also depends on --include_source_info.

Not an interactive gRPC tool: its output is documentation, not a means to call or test services.

Alternatives

For a broader directory of tools in this area, browse gRPC Tools. Choose protoc-gen-doc if you want another free, MIT-licensed documentation generator for Protobuf. For making gRPC requests rather than producing static contract documentation, Kreya offers a free plan for individuals, with request history limited to the latest request, while FintX offers a free, open-source plan with unlimited gRPC clients and request import/export. Other options include grpcui, GripMock, gRPC CLI, grpcmd, and ProtoCall.

Verdict

Choose Sabledocs if you need free, configurable static documentation for Protobuf and gRPC contracts and can produce the required descriptor in a Python 3.11-or-higher workflow. Its multi-package output and template controls make it a focused option for teams publishing their own reference sites. Look elsewhere if your priority is calling services, or if the descriptor and runtime requirements do not fit your build process.

Verdict

Sabledocs provides configurable static documentation output for Protobuf and gRPC contracts. Its descriptor and Python requirements are important setup considerations.

Where Specifiction places it

Alternatives to sabledocsAll alternatives →