{"categories":[{"label":"Quality Assurance","url":"https://skillfed.io/packages/category/software-development-quality-assurance"}],"enrichment":{"capability":"Validates Protocol Buffer messages against semantic rules defined in Protobuf annotations, supporting both standard field constraints and custom CEL expressions.","skillfed_tags":["protobuf","validation","grpc"],"use_cases":["Validate incoming gRPC request messages against field constraints and cross-field rules before processing.","Enforce data quality rules on Protobuf messages in microservices without duplicating validation logic across languages.","Check UUID, email, and other standard formats on string fields during message deserialization.","Express complex validation logic (e.g., conditional field requirements) using CEL expressions in .proto files.","Migrate from protoc-gen-validate to a unified validation approach across multiple language implementations."],"what_it_does":"Protovalidate is a semantic validation library for Protocol Buffers that enforces constraints on messages and fields at runtime. It replaces the earlier protoc-gen-validate tool and works by checking annotations you add to your .proto definitions\u2014both built-in rules like string format validation (email, UUID) and numeric bounds, plus custom logic written in CEL (Common Expression Language). Once your Protobuf messages are annotated, you call protovalidate.validate() on message instances to check them against those rules, catching invalid data before it propagates through your application.\n\nThe package depends on cel-python for CEL expression evaluation, google-re2 for regex matching, and protobuf itself. It supports Python 3.10 and later and is actively maintained by Buf. The library integrates naturally into gRPC services and other systems that already use Protocol Buffers, making it a natural fit for teams validating structured data at API boundaries.","worth_installing":"Yes. Protovalidate is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real problem for teams using Protocol Buffers. It's the recommended successor to protoc-gen-validate and integrates cleanly into gRPC and microservice workflows. Install it if you're already using Protobuf and need to validate messages at runtime."},"id":"protovalidate","links":{"html":"https://skillfed.io/packages/protovalidate","md":"https://skillfed.io/packages/protovalidate.md","pypi":"https://pypi.org/project/protovalidate/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-04-22","license_spdx":"Apache-2.0","license_treatment":"permissive","name":"protovalidate","python_support":"supports_current","summary":"Protocol Buffer Validation for Python"},"popularity":{"monthly_downloads":1825414,"position":3515,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.2.0"}
