bufbuild/protovalidate
bufbuild/protovalidate has 1,587 GitHub stars and 68 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-07 04:13 UTC. Last push 2026-10-29.
Protocol Buffer Validation - Go, Java, Python, C++ and JS/TS
Measured star growth
- in 24h
- +1
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalProtovalidate
Protovalidate is the semantic validation library for Protobuf. It provides standard annotations to validate common rules on messages and fields, as well as the ability to use CEL to write custom rules. It's the next generation of protoc-gen-validate.
With Protovalidate, you can annotate your Protobuf messages with both standard and custom validation rules:
syntax = "proto3";
package acme.user.v1;
import "buf/validate/validate.proto";
message User {
string id = 1 [(buf.validate.field).string.uuid = true];
uint32 age = 2 [(buf.validate.field).uint32.lte = 150]; // We can only hope.
string email = 3 [(buf.validate.field).string.email = true];
string first_name = 4 [(buf.validate.field).string.max_len = 64];
string last_name = 5 [(buf.validate.field).string.max_len = 64];
option (buf.validate.message).cel = {
id: "first_name_requires_last_name"
message: "last_name must be present if first_name is present"
expression: "!has(this.first_name) || has(this.last_name)"
};
}
Supported languages
To start using Protovalidate in your projects, see the developer quickstart, Protovalidate overview, or go directly to the repository for your language of choice:
protovalidate-go(Go)protovalidate-java(Java)protovalidate-py(Python)protovalidate-cc(C++)protovalidate-es(TypeScript and JavaScript)
Documentation
Comprehensive documentation for Protovalidate is available at protovalidate.com.
Highlights include:
- The developer quickstart
- Comprehensive RPC quickstarts for Connect and Go, gRPC and Go, gRPC and Java, and gRPC and Python
- A migration guide for protoc-gen-validate users
Contributing
We genuinely appreciate any help! If you'd like to contribute, check out these resources:
- Contributing Guidelines: Guidelines to make your contribution process straightforward and meaningful
- Conformance testing utilities: Utilities providing acceptance testing of
protovalidateimplementations
Legal
Offered under the Apache 2 license.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,676 starspublic-apis/public-apis
A collective list of free APIs
496,925 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
440,064 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,108 stars