{"categories":[{"label":"Quality Assurance","url":"https://skillfed.io/packages/category/software-development-quality-assurance/4"}],"enrichment":{"capability":"A Pylint plugin that makes Pylint understand protobuf-generated classes, catching type mismatches, invalid field access, and constructor errors that would otherwise go undetected.","skillfed_tags":["protobuf-linting","pylint-plugin","type-checking"],"use_cases":["Catch type errors in protobuf message field assignments during code review before runtime.","Detect attempts to access fields that don't exist in a protobuf message definition.","Enforce correct constructor usage for protobuf messages (keyword-only arguments).","Lint downstream code that consumes pre-generated protobuf modules without access to .proto files.","Integrate protobuf validation into existing Pylint-based CI/CD workflows."],"what_it_does":"pylint-protobuf is a Pylint plugin that teaches Pylint to understand the structure and type constraints of protobuf-generated Python classes. When you generate Python code from .proto files using protoc, the resulting classes have dynamically created fields that Pylint normally cannot inspect; this plugin bridges that gap by recognizing protobuf message definitions and their field types, allowing Pylint to catch errors like passing positional arguments to message constructors, assigning values to non-existent fields, or assigning wrong types to typed fields.\n\nThe plugin integrates directly into Pylint's analysis pipeline and emits custom error codes (e.g., protobuf-no-posargs, protobuf-undefined-attribute, protobuf-type-error) when it detects violations. It is most useful if you consume protobuf-generated code but do not control the .proto definitions or the code generation pipeline; if you control the entire pipeline, mypy-protobuf (a protoc plugin) may be a better fit.","worth_installing":"Yes, if you work with protobuf-generated Python code and want Pylint to catch protobuf-specific errors. The plugin is stable and low-friction to install. However, maintenance is dormant (last release 2023-12-10, no recent commits), so verify compatibility with your current pylint and protobuf versions before relying on it in production. Not necessary if you use mypy-protobuf or control the entire protobuf pipeline."},"id":"pylint-protobuf","links":{"html":"https://skillfed.io/packages/pylint-protobuf","md":"https://skillfed.io/packages/pylint-protobuf.md","pypi":"https://pypi.org/project/pylint-protobuf/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2023-12-10","license_spdx":null,"license_treatment":"permissive","name":"pylint-protobuf","python_support":"unspecified","summary":"A plugin for making Pylint aware of the fields of protobuf-generated classes"},"popularity":{"monthly_downloads":114004,"position":12319,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.22.0"}
