{"categories":[{"label":"Build Tools","url":"https://skillfed.io/packages/category/software-development-build-tools"}],"enrichment":{"capability":"Protoletariat rewrites Python imports generated by protoc, converting absolute imports to relative imports so that generated protobuf code works correctly in Python packages.","skillfed_tags":["protobuf","code-generation","build-tool"],"use_cases":["Fix broken imports in protoc-generated Python code when building a Python package that uses Protocol Buffers.","Automate the import rewriting step in a build pipeline that generates gRPC service stubs and message types.","Convert absolute imports to relative imports in generated protobuf modules to enable proper package distribution.","Process code generated by buf (the modern protobuf build system) to make imports work in Python packages."],"what_it_does":"Protoletariat is a command-line tool that fixes Python imports in code generated by protoc (the Protocol Buffers compiler). When protoc generates Python modules from .proto files, it creates absolute imports that don't work well in packaged Python code; protoletariat rewrites those imports to relative imports by analyzing the FileDescriptorProtos and applying AST-based rewrite rules.\n\nThe tool is designed as a post-processing step: you run protoc first to generate the Python code, then run protoletariat to fix the imports. It supports multiple input sources (protoc, buf, or raw FileDescriptorSet bytes) and can recursively create __init__.py files to turn output directories into proper packages. It depends on astunparse for AST manipulation, click for CLI handling, and protobuf for descriptor parsing.","worth_installing":"No. The package is archived and abandoned, with no maintenance since June 2026. While it has low install friction and permissive licensing, the lack of active development creates risk for compatibility issues with future protobuf or Python versions. If you need to fix protoc-generated imports, consider whether the problem is still relevant with current protobuf versions or whether an actively maintained alternative exists."},"id":"protoletariat","links":{"html":"https://skillfed.io/packages/protoletariat","md":"https://skillfed.io/packages/protoletariat.md","pypi":"https://pypi.org/project/protoletariat/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2025-03-19","license_spdx":null,"license_treatment":"permissive","name":"protoletariat","python_support":"supports_current","summary":"Python protocol buffers for the rest of us"},"popularity":{"monthly_downloads":2551260,"position":3004,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"3.3.10"}
