A modern package manager for Protocol Buffers, enabling dependency management and distribution of protobuf schemas.
Buffrs is a modern package manager for Protocol Buffers that solves the distribution problem of protobuf schemas. It allows developers to publish and consume protobuf packages through a registry, manage dependencies with lock files, and generate code bindings without language lock-in.
Developers and teams working with Protocol Buffers who need to share API schemas across multiple projects or languages, especially in microservices or distributed systems.
Buffrs provides a dedicated, language-agnostic package management solution for Protocol Buffers, eliminating the need to manually distribute protobuf files or generate bindings for every language, while ensuring reproducible builds and easy integration with existing registries like Artifactory.
Modern protobuf package management
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Treats Protocol Buffers as first-class citizens, allowing packages to be shared across projects without generating bindings for every language, eliminating language lock-in as highlighted in the motivation section.
Uses lock files with cryptographic checksums to ensure dependency integrity and reproducible builds, a core feature mentioned in the README.
Supports multiple packages in a single repository with automatic dependency ordering, making it easier to organize complex protobuf schemas, as noted in the features.
Provides built-in support for publishing to and consuming from Artifactory registries, enabling centralized distribution without custom setup.
Currently focuses on Artifactory, and the self-hostable buffrs-registry is still under development, which may restrict deployment options for teams using other registries.
Only supports tonic and protoc as backends for generating language bindings, lacking support for other popular tools or custom plugins that some projects might require.
As a newer tool, it has fewer integrations, community resources, and proven stability compared to established alternatives like Buf, which could slow adoption in complex environments.