grpcui vs sabledocs
grpcui
github.comsabledocs
markvincze.github.ioSide by side
| Figure | grpcui | sabledocs |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · gRPC Tools | 8.0 (#9) | 7.8 (#14) |
| Audience | The tool is intended for developers who need to interactively construct requests and inspect gRPC service behavior. | The documented workflow is for people generating and publishing reference documentation for Protobuf and gRPC contracts, including in CI builds. |
| Purpose | grpcui is a command-line tool for interacting with gRPC servers through a browser-based web UI. | Sabledocs is a static documentation generator for Protobuf and gRPC contracts. |
Plans
In their own words
grpcui
grpcui is a free, open-source command-line tool for interacting with gRPC servers through a browser-based interface. It is aimed at gRPC APIs rather than REST APIs and can discover service schemas through server reflection, .proto source files, or compiled protoset files. Its interface builds dynamic forms for protobuf messages, including well-known types, oneofs, and maps, and also accepts a complete JSON request body. grpcui supports RPC methods including streaming, then displays response headers, messages or errors, trailers, and readable HTML tables. It connects to plaintext and TLS servers, including mutual TLS with client certificates. Streaming requests have a constraint: they must be constructed all at once, so bidirectional streams cannot be handled interactively like they can with grpcurl. The project also provides Go packages for embedding a form or complete web UI in a Go HTTP server. Installation is documented through Homebrew on macOS or Linux, and through the Go install command. It is released under the MIT license.
sabledocs
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.