{"categories":[{"label":"Build Tools","url":"https://skillfed.io/packages/category/software-development-build-tools"}],"enrichment":{"capability":"Generates idiomatic Python code from Protobuf 3 and gRPC definitions, with built-in async support, JSON serialization, and modern type hints.","skillfed_tags":["protobuf-codegen","grpc-async","dataclass-generation"],"use_cases":["Generate gRPC service stubs with async/await support for building high-concurrency microservices","Convert Protobuf definitions to typed Python dataclasses for IDE autocomplete and mypy validation","Serialize and deserialize messages to/from JSON with configurable field naming (camelCase or snake_case)","Build APIs where Protobuf messages integrate naturally with modern Python async frameworks","Replace the official Google Protobuf plugin when its generated code is unreadable or import paths break"],"what_it_does":"Betterproto is a code generator and runtime library that converts Protobuf 3 and gRPC service definitions into readable, idiomatic Python code. It addresses limitations in the official Google Protobuf Python plugin by generating dataclasses with type hints, async/await support, and modern Python conventions instead of the verbose, non-idiomatic code the official plugin produces. The generated messages support both binary and JSON serialization, timezone-aware datetime objects, and work with mypy for static type checking.\n\nYou install the package in two modes: with the `[compiler]` extra to get the protoc plugin for code generation, or without it to only use the runtime library for deserializing messages. Once generated, your Protobuf messages become standard Python dataclasses that feel native to the language, with methods like `to_json()`, `to_dict()`, and `parse()` rather than the camelCase method names of the official library.","worth_installing":"Yes, if you are committed to Protobuf 3 and value idiomatic, readable generated code with async support\u2014but with caution. The package has not shipped a release since 2020-05-27 despite recent repository commits, signaling stalled maintenance at the release level. It remains suitable for new projects or teams already using it, but consider the risk of unpatched issues and incompatibility with future Protobuf or gRPC versions. No known security vulnerabilities."},"id":"betterproto","links":{"html":"https://skillfed.io/packages/betterproto","md":"https://skillfed.io/packages/betterproto.md","pypi":"https://pypi.org/project/betterproto/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2020-05-27","license_spdx":null,"license_treatment":"permissive","name":"betterproto","python_support":"supports_current","summary":"A better Protobuf / gRPC generator & library"},"popularity":{"monthly_downloads":3575811,"position":2573,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.2.5"}
