Schema visualization tool
Open
Nobody has claimed this yet.
enhancement
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 204
- Avg merge
- 13m
- Merged PRs (30d)
- 1
Description
Schemas can be complex and need visualization. A simple script could convert the schema to a networkx graph and generate an image with the graph visualization.
This can be a starting point:
import networkx as nx
import matplotlib.pyplot as plt
graph_schema = tfgnn.read_schema("schema.pbtxt")
graph = nx.DiGraph()
nodes = [
name for name in graph_schema.node_sets.keys()
]
edges = [
[e.source, e.target] for e in graph_schema.edge_sets.values()
]
edge_labels = {
(e.source, e.target): name for name, e in graph_schema.edge_sets.items()
}
graph.add_nodes_from(nodes)
graph.add_edges_from(edges)
pos = nx.spring_layout(graph)
nx.draw(graph,
pos=pos,
node_size=1000,
with_labels = True)
nx.draw_networkx_edge_labels(
graph,
pos=pos,
edge_labels=edge_labels
)
plt.savefig("schema.png")
The above can generate a schema visualizations like this:

Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names a proposed Python script that reads schema.pbtxt and generates schema.png, but it does not identify a repository file, entry point, or test. Start by locating how schemas are currently read and where a visualization tool would belong. Done means producing an image with labeled schema nodes and edges from the input schema.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- matplotlib, python, tensorflow
- Domain
- data-visualization, machine-learning
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100