Skip to main content

A tool to visualize .proto file hierarchies

Project description

Proto Explorer

A lightweight, interactive browser for exploring Protobuf/gRPC hierarchies

Python Streamlit Protobuf

Proto Explorer lets you visually explore Protobuf message hierarchies (*.proto files) using only the compiled Python files (*_pb2.py). No .proto files or regeneration required.

  • Expand nested message fields
  • Show oneof group hierarchy
  • Correctly detect map<key, value> fields
  • Load _pb2.py from custom paths
  • Runs locally; no server or DB needed

🌟 Demo Screenshot

Proto Explorer Screenshot


🔧 Installation

Clone the repository and install dependencies:

pip install proto-explorer

▶️ Run the App

proto-explorer -m <compiled_protobuf_pb2_module> [-p </path/to/compiled/protobuf>]

️✍️ Example

  1. Clone a test Protobuf set (example: Google Pub/Sub):
git clone https://github.com/googleapis/googleapis.git
cd googleapis
  1. Compile the .proto files to _pb2.py:
python -m grpc_tools.protoc \
  --proto_path=. \
  --python_out=. \
  google/pubsub/v1/*.proto \
  google/api/*.proto

Confirm that the following _pb2.py file exists:

google/pubsub/v1/pubsub_pb2.py
  1. Launch Proto Explorer:
proto-explorer -m google.pubsub.v1.pubsub_pb2 -p .
Launching Proto Explorer...

  You can now view your Streamlit app in your browser.

  Local URL: http://localhost:8501

Press 'q' then Enter to quit Proto Explorer.

Now open your browser and go to: http://localhost:8501/ Enjoy exploring your Protobuf message hierarchy!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proto_explorer-0.3.4.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proto_explorer-0.3.4-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file proto_explorer-0.3.4.tar.gz.

File metadata

  • Download URL: proto_explorer-0.3.4.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for proto_explorer-0.3.4.tar.gz
Algorithm Hash digest
SHA256 a3691be1b46f1a844734f64e8a8fc27c2323dd059e6d1f636f1f542a10be9554
MD5 c9384a9dbeb1ba7d9729eea77f09795b
BLAKE2b-256 a8a51168e9f5cf036af546903e9861022070e899b79cd4d8810ad2a29e30ff3a

See more details on using hashes here.

File details

Details for the file proto_explorer-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: proto_explorer-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for proto_explorer-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 db0b0386e60e52cf7c285c2d664fdf37aa680de1895eb28b987700d867e36490
MD5 07a9f597351d481333001f641b74d9a8
BLAKE2b-256 a6b6ed444d6c4aed127039b8c945213950b7f7cef144cdd6bbc399ae0a78d0ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page