
| Package | |
| Code | |
| Tools | |
| CI/CD | |
| Scans | |
| Mentions | |
| Badge |
Graphinate turns your data into Graphs. Effortlessly.
It is a Python library designed to streamline the pipeline from raw data to structured Graph representations. With Graphinate, you can easily map complex data hierarchies and payloads directly to nodes and edges, creating an efficient retrieval system.
Whether you need to visualize relationships, analyze structure, or serve data via an API, Graphinate provides the tools to bring your graph to life.
Graphinate uses and builds upon the excellent NetworkX.
Define the blueprint of your graph by decorating simple functions that yield your data as nodes and edges.
Takes your graph blueprint and constructs various outputs, whether it's a queryable NetworkX object, a Mermaid diagram, or a GraphQL schema.
A suite of tools to visualize your graphs, from matplotlib plots to interactive Mermaid diagrams.
Instantly serve your graph data as an interactive GraphQL API, ready for consumption by web applications.
A handy command-line tool to manage and interact with your graph definitions without writing boilerplate code.
- Website (including documentation): https://erivlis.github.io/graphinate
- Source: https://github.com/erivlis/graphinate
- Package: https://pypi.org/project/graphinate
Graphinate is available on PyPI:
pip install graphinateor
uv add graphinateTo install with server support
pip install graphinate[server]or
uv add graphinate[server] Graphinate officially supports Python >= 3.10.
importgraphinateN: int=8# First Define a GraphModel instance.# It will be used to hold the graph definitionsgraph_model: graphinate.GraphModel=graphinate.model(name="Octagonal Graph")
# Register in the Graph Model the edges' supplier generator function@graph_model.edge()defedge():
foriinrange(N):
yield {'source': i, 'target': i+1}
yield {'source': N, 'target': 0}
# Use the NetworkX Builderbuilder=graphinate.builders.NetworkxBuilder(graph_model)
# build the NetworkX GraphRepresentation# the output in this case is a nx.Graph instancegraph=builder.build()
# this supplied plot method uses matplotlib to display the graphgraphinate.matplotlib.plot(graph, with_edge_labels=True)
# or use the Mermaid Builderbuilder=graphinate.builders.MermaidBuilder(graph_model)
# to create a Mermaid diagramdiagram: str=builder.build()
# and get Markdown or single page HTML to display itmermaid_markdown: str=graphinate.mermaid.markdown(diagram)
mermaid_html: str=graphinate.mermaid.html(diagram, title=graph_model.name)
# or use the GraphQL Builderbuilder=graphinate.builders.GraphQLBuilder(.graph_model)
# to create a Strawberry GraphQL schemaschema=builder.build()
# and serve it using Uvicorn web servergraphinate.graphql.server(schema)For detailed information on the command-line interface, please see the CLI Usage Guide in the official documentation.
For instructions on how to set up your development environment, run tests, and contribute to the project, please see the Development Guide in the official documentation.
For a list of the dependencies and tools that make Graphinate possible, please see the Acknowledgements page in the official documentation.
Copyright © 2023-2026 Eran Rivlis


