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

Uploaded Python 3

File details

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

File metadata

  • Download URL: proto_explorer-0.3.5.tar.gz
  • Upload date:
  • Size: 139.5 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.5.tar.gz
Algorithm Hash digest
SHA256 b3b5b154f5ddd97559c266373e4a55c9bd96bcdb6a9b5b52ca878ca6283141d3
MD5 abf91a93d33ecec3e28f6bdedf39b1e3
BLAKE2b-256 2032b06f68848651921b81816d47b2323021028823dcf6848cf9796eea27bc55

See more details on using hashes here.

File details

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

File metadata

  • Download URL: proto_explorer-0.3.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bd89984257d8e15ababde5c3ceb0808edfe4c393a355be516d582eda7176e07b
MD5 01db85981ed8c17a32607f472ab741a2
BLAKE2b-256 6505172db42276d81c6208f84f7a2046e90579dbff43111da85d773b8aff8486

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