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

Uploaded Python 3

File details

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

File metadata

  • Download URL: proto_explorer-0.5.0.tar.gz
  • Upload date:
  • Size: 10.3 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.5.0.tar.gz
Algorithm Hash digest
SHA256 21a5b6b075b6fe5257bdba52ef7e7a3a4e16873e3ffaf7615fb585923ece49db
MD5 2a0787c26d38453b985271a8d4fb80f7
BLAKE2b-256 4f7b9b49dac901fc36fb043214752aba3a25e2172da00bfaec890885d264f620

See more details on using hashes here.

File details

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

File metadata

  • Download URL: proto_explorer-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 12.9 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 326f49b3a0be8edddf1c68eefcde21317652fbbcc4edf37cb9a045fa1e99acd0
MD5 d2324a24970bd43e84c31fe88c55b95f
BLAKE2b-256 df8f3f1a0dad64f7996eb548fd0a34ea15433cb04cff0fe50dc27fc6b5218960

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