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

Uploaded Python 3

File details

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

File metadata

  • Download URL: proto_explorer-0.4.0.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.11.5 Linux/5.14.0-362.8.1.el9_3.x86_64

File hashes

Hashes for proto_explorer-0.4.0.tar.gz
Algorithm Hash digest
SHA256 5c321da29ccdafc6aa47244c91b787b01e99b1d1bf1c783b139c46590813c3ad
MD5 3b5421e41263dcb2f39633b9b37178e7
BLAKE2b-256 914dd4495b9bf705d1e831c80349de63ecd3f7b519baab625b3044c14c892667

See more details on using hashes here.

File details

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

File metadata

  • Download URL: proto_explorer-0.4.0-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.11.5 Linux/5.14.0-362.8.1.el9_3.x86_64

File hashes

Hashes for proto_explorer-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 15567f47fed26301333c45e930a80d6f10d46f6e13a258044db6e1ee38caadb0
MD5 4be03f8b88155fa9b390f5be61ce306f
BLAKE2b-256 e545844f5bed65b00218634aaa39416a1726780de2123284423404eb20d0ae62

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