Skip to main content

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!

Tests and Code Style

IbisGraph logo

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 DuckDB backend.
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ibisgraph-0.1.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ibisgraph-0.1.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

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

Hashes for ibisgraph-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ef7946a6294efc7c3760774ad4cb78c874cccd7ef64960f4c172a6bd30a4e6bb
MD5 0a5c82c5b74a5ddf7b4b514d2c5fcb5a
BLAKE2b-256 8de7a9232f59d0e74a312853efbcc8c06dcfc3c2a18f26b06a4e9aa3423139f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ibisgraph-0.1.0.tar.gz:

Publisher: python-publish.yml on SemyonSinchenko/ibisgraph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for ibisgraph-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d1170a5730840cda59e976231f706d129b97f936ed8bbd6fb66376f284c1ad05
MD5 5b2f7b6cc24c31ceec3b4c54a681714d
BLAKE2b-256 3e1d6beda56ee1be9c3dede47e3001d1f0816910fd9237d962dc87ca2001f4e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ibisgraph-0.1.0-py3-none-any.whl:

Publisher: python-publish.yml on SemyonSinchenko/ibisgraph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page