Graphinate. Data to Graphs.
Project description
Graphinate. Data to Graphs.
Package |
|
CI/CD |
|
Scans |
|
[!WARNING]
UNDER DEVELOPMENT
Introduction
What is Graphinate?
Graphinate is a python library that aims to simplify the generation of Graph Data Structures from Data Sources.
It can help create an efficient retrieval pipeline from a given data source, while also enabling the developer to easily map data payloads and hierarchies to a Graph.
In addition, there are several modes of output to enable examination of the Graph, and it's content.
Graphinate utilizes and builds upon the excellent NetworkX.
Links
- Website (including documentation): https://erivlis.github.io/graphinate
- Source: https://github.com/erivlis/graphinate
- Package: https://pypi.org/project/graphinate
Quick Start
Install
Graphinate is available on PyPI:
pip install graphinate
To install with server support
pip install graphinate[server]
Graphinate officially supports Python >= 3.9.
Example
import graphinate
N: int = 8
# Define GraphModel
graph_model = graphinate.model(name="Octagonal Graph")
# Register edges supplier function
@graph_model.edge()
def edge():
for i in range(N):
yield {'source': i, 'target': i + 1}
yield {'source': N, 'target': 0}
# Materialize the GraphModel
graphinate.materialize(graph_model)
[!NOTE]
graphinate.model
functionThis function creates
GraphModel
class that is used to declaratively register Edge and/or Node data supplier functions by using theGraphModel.node()
andGraphModel.edge()
decorators.
graphinate.materialize
functionThis function can be used to easily generate an output from a
GraphModel
instance. By default it will prompt the user to choose the output format, using a popup dialog.
CLI
Commands
Usage: python -m graphinate [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
save
server
Save
Usage: python -m graphinate save [OPTIONS]
Options:
-m, --model MODEL A GraphModel instance reference {module-
name}:{GraphModel-instance-variable-name} For example,
given var `model=GraphModel()` defined in app.py file,
then the reference should be app:model
--help Show this message and exit.
Server
Usage: python -m graphinate server [OPTIONS]
Options:
-m, --model MODEL A GraphModel instance reference {module-
name}:{GraphModel-instance-variable-name} For example,
given var `model=GraphModel()` defined in app.py file,
then the reference should be app:model
-p, --port INTEGER Port number.
--help Show this message and exit.
Gallery
Python AST
GitHub Repository
Python AST - 3D Force-Directed Animation
Web Page Links
Development
Ruff
ruff check src
Test
Standard (cobertura) XML Coverage Report
python -m pytest ./tests --cov=./src --cov-branch --doctest-modules --cov-report=xml --junitxml=test_results.xml
HTML Coverage Report
python -m pytest tests --cov=src --cov-branch --doctest-modules --cov-report=html --junitxml=test_results.xml
Docs
test
python -m mkdocs serve
build
python -m mkdocs build
Acknowledgements
Dependencies
Python
Javascript and HTML
Dev Tools
IDE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for graphinate-0.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0048cb3b6e70361ca96d0524480143dc5a5d2581eea8b82d93ce88e5715b3fc |
|
MD5 | 83bcf64bf4ff63514aab2e16f23fc7c8 |
|
BLAKE2b-256 | 9431e8d8fe5d74b2ea437932235939d99ee8af32500e052a2212acbc22b94f6b |