Graphinate. Data to Graphs.
Project description
Graphinate. Data to Graphs.
Package |
|
Tools | |
CI/CD | |
Scans |
|
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 - 1):
yield {'source': i, 'target': i + 1}
yield {'source': N - 1, '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 GUI dialog box.
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 -n auto --cov=src --cov-branch --doctest-modules --cov-report=xml --junitxml=test_results.xml
HTML Coverage Report
python -m pytest tests -n auto --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
Copyright © 2023 Eran Rivlis
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
File details
Details for the file graphinate-0.2.17.tar.gz
.
File metadata
- Download URL: graphinate-0.2.17.tar.gz
- Upload date:
- Size: 314.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5e0c5365463526e8b96f96b84082c7deb5d550cef3ea0d754f457d0157e7269 |
|
MD5 | 81e632c95a51e9816a80436eb2715d5f |
|
BLAKE2b-256 | f6c06f6db28fcbe77df6a6cd949cd8bda826cbd36d16ce5e4ef1279796b1bde5 |
File details
Details for the file graphinate-0.2.17-py3-none-any.whl
.
File metadata
- Download URL: graphinate-0.2.17-py3-none-any.whl
- Upload date:
- Size: 105.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc3d43b772692d00a076c260048aaf4af8e4368700bf550b8b8827afda8f1c09 |
|
MD5 | 124f95bd3e8db81b5c5e6162c141b875 |
|
BLAKE2b-256 | 5fa71f10d2619bb038a79bf3092029af25e03c0aefc1fff777b535c34c31d455 |