Pregel-based graph algorithms on top of Ibis project
Reason this release was yanked:
It should be 0.0.1; a broken config
Project description
IbisGraph
Under development!
IbisGraph is an experimental implementation of Pregel on top of Ibis DataFrames.
FAQ
Is it a replacement of graph-libraries, like NetworkX or IGraph?
- No, this is not a replacement for graph libraries. While IbisGraph is based on Pregel, which was designed for large-scale graph processing and can be easily explained in terms of SQL, it will always be significantly slower compared to other implementations of graph algorithms.
Will it work on Databricks, Snowflake, PostgrSQL, etc.?
- Yes. IbisGraph should work with any backend, supported in Ibis.
Why Pregel?
- I do not know an alternative graph-processing framework, that can be so easily explained in terms of SQL-operations.
Is it better than GraphFrames for PySpark users?
- As a committer of the GraphFrames project, I can say that GraphFrames algorithms are generally better optimized for Apache Spark's specific features. However, I believe that IbisGraph's API is more Pythonic compared to GraphFrames' PySpark API. Additionally, IbisGraph doesn't require extra steps, such as building JARs and configuring the cluster, to run it.
When should I use IbisGraph?
- I designed IbisGraph for cases where users need to process connected data stored in a Database, Lakehouse, or cloud Data Warehouse (DWH) system. IbisGraph provides graph abstractions and implementations of graph algorithms that run on the database, cloud DWH, or query engine side. While the implementations of graph algorithms in IbisGraph are generally slower compared to specialized tools like Neo4j, IbisGraph's main advantage is that it doesn't require moving data outside of the target system.
Features
- Quite fast on single-node with
DuckDBbackend. - Write once, debug locally, run on a Database or cluster.
- Theoretically support all the supported by Ibis backends (Snwoflake, PostgreSQL, PySpark, etc.).
- Not only Pregel: batteries are included.
Implemented algorithms
- Graph abstraction, represented by two
ibis.Table(nodes and edges) - In-degrees, out-degrees, degrees
- Jaccard similarity index
- Pregel as a low-level building block for Graph processing
- PageRank
- Shortest Paths
- Label Propagation
- Weakly Connected Components
- Strongly Connected Components
- Attribute Propagation
- Gremlin
- OpenCypher
Inspirations
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ibisgraph-0.1.0.tar.gz.
File metadata
- Download URL: ibisgraph-0.1.0.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef7946a6294efc7c3760774ad4cb78c874cccd7ef64960f4c172a6bd30a4e6bb
|
|
| MD5 |
0a5c82c5b74a5ddf7b4b514d2c5fcb5a
|
|
| BLAKE2b-256 |
8de7a9232f59d0e74a312853efbcc8c06dcfc3c2a18f26b06a4e9aa3423139f4
|
Provenance
The following attestation bundles were made for ibisgraph-0.1.0.tar.gz:
Publisher:
python-publish.yml on SemyonSinchenko/ibisgraph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ibisgraph-0.1.0.tar.gz -
Subject digest:
ef7946a6294efc7c3760774ad4cb78c874cccd7ef64960f4c172a6bd30a4e6bb - Sigstore transparency entry: 188976465
- Sigstore integration time:
-
Permalink:
SemyonSinchenko/ibisgraph@ce5a2d966ab790807399ae2c008c7848fb36ef98 -
Branch / Tag:
refs/tags/0.0.1 - Owner: https://github.com/SemyonSinchenko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ce5a2d966ab790807399ae2c008c7848fb36ef98 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ibisgraph-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ibisgraph-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1170a5730840cda59e976231f706d129b97f936ed8bbd6fb66376f284c1ad05
|
|
| MD5 |
5b2f7b6cc24c31ceec3b4c54a681714d
|
|
| BLAKE2b-256 |
3e1d6beda56ee1be9c3dede47e3001d1f0816910fd9237d962dc87ca2001f4e3
|
Provenance
The following attestation bundles were made for ibisgraph-0.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on SemyonSinchenko/ibisgraph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ibisgraph-0.1.0-py3-none-any.whl -
Subject digest:
d1170a5730840cda59e976231f706d129b97f936ed8bbd6fb66376f284c1ad05 - Sigstore transparency entry: 188976467
- Sigstore integration time:
-
Permalink:
SemyonSinchenko/ibisgraph@ce5a2d966ab790807399ae2c008c7848fb36ef98 -
Branch / Tag:
refs/tags/0.0.1 - Owner: https://github.com/SemyonSinchenko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ce5a2d966ab790807399ae2c008c7848fb36ef98 -
Trigger Event:
release
-
Statement type: