$npx skillfedfor your agent

protovalidate

Protocol Buffer Validation for Python

Worth itPyPI Quality AssuranceReleased Apr 20261.8M downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — protovalidate-1.2.0-py3-none-any.whl
v1.2.0 · released 2026-04-22 · Python >=3.10 · 3 runtime deps: cel-python, google-re2, protobuf

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.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later; protobuf messages must be annotated with validation rules via buf.validate.field or buf.validate.message options.
  • Low friction install with three runtime dependencies (cel-python, google-re2, protobuf).
  • Package is actively maintained with recent releases and no known vulnerabilities.

License · maintenance · safety

Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.

last release 2026-04-22 (114 days) · last repo commit 2026-08-14 · 66 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,825,414 downloads/mo, #3,515 on PyPI

Verify before relying

pip install protovalidate

import protovalidate

try:
    protovalidate.validate(message)
except protovalidate.ValidationError as e:
    # Handle validation failure
  • Performance characteristics when validating large message volumes or deeply nested structures.
  • Compatibility with custom Protobuf plugins or non-standard message generation workflows.
  • Whether CEL expression evaluation supports all standard CEL functions or a subset.
Same gist for agents: .md · .json

What it is and 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—both 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.

The 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.

Use it for

  • 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.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

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.

Install

protovalidate on PyPI

Before you install

Low friction install with three runtime dependencies (cel-python, google-re2, protobuf). Package is actively maintained with recent releases and no known vulnerabilities.

Requires Python 3.10 or later; protobuf messages must be annotated with validation rules via buf.validate.field or buf.validate.message options.

License in practice

Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.

Quickstart

pip install protovalidate

import protovalidate

try:
    protovalidate.validate(message)
except protovalidate.ValidationError as e:
    # Handle validation failure

Verify before relying

  • Performance characteristics when validating large message volumes or deeply nested structures.
  • Compatibility with custom Protobuf plugins or non-standard message generation workflows.
  • Whether CEL expression evaluation supports all standard CEL functions or a subset.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
3 packages
cel-pythongoogle-re2protobuf
MaintenanceActively maintained 114 days since the last release
Last repo commit
First released
Downloads1,825,414 / month, #3,515 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Operating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed

Evidence: protovalidate-1.2.0-py3-none-any.whl

Tags

Capabilities
protobuf message validationprotocol buffer validationprotobuf field constraintsCEL validation rulesprotobuf semantic validationbuf validate pythonprotobuf message constraints
Topics
protobufvalidationgrpc
PyPI keywords
protobufprotocol buffervalidate

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “protobuf message validation”

  • protovalidateValidates Protocol Buffer messages against semantic rules defined in…
  • protobuf_to_pydanticConverts Protobuf message definitions into Pydantic models with…
  • protoc-gen-validateValidates protocol buffer messages against semantic rules defined in…

Give your agent the search over MCP, or paste the wish link into any chat.

More Quality Assurance packages

coverage Worth it
PyPI · Testing · released Aug 2026

Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.

Install it if you want to measure test completeness or enforce coverage thresholds in your project.

permissive licensepure Python · 3.10+
335.8Mdownloads / mo
ruff Worth it
PyPI · Python Modules · released Aug 2026

Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.

MITcompiled wheel · 3.7+
316.1Mdownloads / mo
pexpect With conditions
PyPI · Software Development · released Nov 2023

Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.

ISCpure Pythonaging
200.8Mdownloads / mo
black Worth it
PyPI · Python Modules · released May 2026

Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.

MITpure Python · 3.10+
179.9Mdownloads / mo
pytest-xdist Worth it
PyPI · Utilities · released Jul 2025

pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.

Install it if your test suite takes long enough that parallelization would save meaningful time.

MITpure Python · 3.9+
177.1Mdownloads / mo
cfn-lint Worth it
PyPI · Quality Assurance · released Aug 2026

Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.

Install it if you work with CloudFormation templates.

MIT-0pure Python
114.9Mdownloads / mo

See also protoc-gen-validate · isolate-proto · protobuf-py · sentry-protos · protobuf-py-ext · common-expression-language · opensearch-protobufs · cel-expr-python · protobuf3-to-dict · spec-kitty-events