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.7.tar.gz (6.2 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.7-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: proto_explorer-0.3.7.tar.gz
  • Upload date:
  • Size: 6.2 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.7.tar.gz
Algorithm Hash digest
SHA256 03332667dc02a7f5a189afcefb22d476a8b083ccba742a1aaaef67e5145ad7b0
MD5 e1d39db2030913bd4e26fc18dcfbbeed
BLAKE2b-256 663d3715cf0480699549210e1954f489ee03996a5d10874938ff8f7b12679347

See more details on using hashes here.

File details

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

File metadata

  • Download URL: proto_explorer-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 7.6 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 36efb8343ee143ece1e43d3726473b9ddc28178e3ff0d667071b2f1e60f062df
MD5 a5329279e0d7d8faf4fdf6906b743efc
BLAKE2b-256 263b41ae148948db5a3ed7333bd76ea7a4b3ae12621470e0245ad542d5e7e329

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