Evans vs sabledocs
Evans
github.comsabledocs
markvincze.github.ioSide by side
| Figure | Evans | sabledocs |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · gRPC Tools | 7.9 (#11) | 7.8 (#14) |
| Purpose | Evans is a universal gRPC client for manual API inspection and scripting. | Sabledocs is a static documentation generator for Protobuf and gRPC contracts. |
| Runtime requirement | The documented Go installation requires Go v1.20 or later. | The package requires Python version 3.11 or higher. |
Plans
In their own words
Evans
Evans is a free universal gRPC client for manual API inspection and scripting on Linux, macOS, and Windows. Its interactive REPL completes package, service, and RPC names. Stateless CLI mode reads standard input or files and prints JSON-formatted results. When server reflection is enabled, Evans can use that instead of proto files. It supports client-streaming, server-streaming, and bidirectional-streaming RPCs, plus gRPC-Web; TLS is not supported for gRPC-Web. The listed IDL and codec is Protocol Buffers 3, and the compressor is GZIP. For ordinary gRPC connections, the project documents secure TLS connections with the --tls option. Installation options include GitHub Releases, Homebrew, Docker, and Go, with Releases or Homebrew recommended for automatic updates. The documented Go installation requires Go v1.20 or later. The repeat option does not support client-streaming or bidirectional-streaming RPCs. Evans uses 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.