Skip to main content

Easy Graph

Project description

Copyright (C) <2020-2022> by Mobile Systems and Networking Group, Fudan University

https://img.shields.io/pypi/v/Python-EasyGraph.svg https://img.shields.io/pypi/pyversions/Python-EasyGraph.svg https://img.shields.io/pypi/l/Python-EasyGraph

Introduction

EasyGraph is an open source graph processing library. It is mainly written in Python and supports analysis for undirected graphs and directed graphs. EasyGraph supports various formats of graph data and covers a series of important graph mining algorithms for community detection, structural hole spanner detection, graph embedding and motif detection. Moreover, EasyGraph implements some key elements using C++ and introduces multiprocessing optimization to achieve a better efficiency.

Install

Installation with pip

$ pip install --upgrade Python-EasyGraph

The conda package is no longer updated or maintained.

If you’ve installed easygraph this way before, please uninstall it with conda and install it with pip.

If prebuilt easygraph wheels are not supported for your platform (OS / CPU arch, check here), you can build it locally this way:

git clone https://github.com/easy-graph/Easy-Graph && cd Easy-Graph && git checkout pybind11
pip install pybind11
python3 setup.py install

Simple Example

This example shows the general usage of methods in EasyGraph.

>>> import easygraph as eg
>>> G = eg.Graph()
>>> G.add_edges([(1,2), (2,3), (1,3), (3,4), (4,5), (3,5), (5,6)])
>>> eg.pagerank(G)
{1: 0.14272233049003707, 2: 0.14272233049003694, 3: 0.2685427766200994, 4: 0.14336430577918527, 5: 0.21634929087322705, 6: 0.0862989657474143}

This is a simple example for the detection of structural hole spanners using the HIS algorithm.

>>> import easygraph as eg
>>> G = eg.Graph()
>>> G.add_edges([(1,2), (2,3), (1,3), (3,4), (4,5), (3,5), (5,6)])
>>> _, _, H = eg.get_structural_holes_HIS(G, C=[frozenset([1,2,3]), frozenset([4,5,6])])
>>> H # The structural hole score of each node. Note that node `4` is regarded as the most possible structural hole spanner.
{1: {0: 0.703948974609375},
 2: {0: 0.703948974609375},
 3: {0: 1.2799804687499998},
 4: {0: 1.519976806640625},
 5: {0: 1.519976806640625},
 6: {0: 0.83595703125}
}

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

Python-EasyGraph-0.2a40.tar.gz (260.3 kB view hashes)

Uploaded Source

Built Distributions

Python_EasyGraph-0.2a40-pp39-pypy39_pp73-win_amd64.whl (501.6 kB view hashes)

Uploaded PyPy Windows x86-64

Python_EasyGraph-0.2a40-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (610.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

Python_EasyGraph-0.2a40-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (624.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

Python_EasyGraph-0.2a40-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (547.1 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

Python_EasyGraph-0.2a40-pp38-pypy38_pp73-win_amd64.whl (501.7 kB view hashes)

Uploaded PyPy Windows x86-64

Python_EasyGraph-0.2a40-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (616.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

Python_EasyGraph-0.2a40-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (626.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

Python_EasyGraph-0.2a40-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (547.2 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

Python_EasyGraph-0.2a40-pp37-pypy37_pp73-win_amd64.whl (501.6 kB view hashes)

Uploaded PyPy Windows x86-64

Python_EasyGraph-0.2a40-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (617.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

Python_EasyGraph-0.2a40-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (627.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

Python_EasyGraph-0.2a40-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (547.0 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

Python_EasyGraph-0.2a40-cp310-cp310-win_amd64.whl (502.2 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

Python_EasyGraph-0.2a40-cp310-cp310-win32.whl (469.3 kB view hashes)

Uploaded CPython 3.10 Windows x86

Python_EasyGraph-0.2a40-cp310-cp310-musllinux_1_1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

Python_EasyGraph-0.2a40-cp310-cp310-musllinux_1_1_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

Python_EasyGraph-0.2a40-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (625.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

Python_EasyGraph-0.2a40-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (628.5 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

Python_EasyGraph-0.2a40-cp310-cp310-macosx_10_9_x86_64.whl (556.5 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

Python_EasyGraph-0.2a40-cp39-cp39-win_amd64.whl (500.6 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

Python_EasyGraph-0.2a40-cp39-cp39-win32.whl (469.5 kB view hashes)

Uploaded CPython 3.9 Windows x86

Python_EasyGraph-0.2a40-cp39-cp39-musllinux_1_1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

Python_EasyGraph-0.2a40-cp39-cp39-musllinux_1_1_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

Python_EasyGraph-0.2a40-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (628.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

Python_EasyGraph-0.2a40-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (628.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

Python_EasyGraph-0.2a40-cp39-cp39-macosx_10_9_x86_64.whl (556.6 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

Python_EasyGraph-0.2a40-cp38-cp38-win_amd64.whl (502.2 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

Python_EasyGraph-0.2a40-cp38-cp38-win32.whl (469.4 kB view hashes)

Uploaded CPython 3.8 Windows x86

Python_EasyGraph-0.2a40-cp38-cp38-musllinux_1_1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

Python_EasyGraph-0.2a40-cp38-cp38-musllinux_1_1_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

Python_EasyGraph-0.2a40-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (625.6 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

Python_EasyGraph-0.2a40-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (627.5 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

Python_EasyGraph-0.2a40-cp38-cp38-macosx_10_9_x86_64.whl (556.5 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

Python_EasyGraph-0.2a40-cp37-cp37m-win_amd64.whl (503.4 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

Python_EasyGraph-0.2a40-cp37-cp37m-win32.whl (475.6 kB view hashes)

Uploaded CPython 3.7m Windows x86

Python_EasyGraph-0.2a40-cp37-cp37m-musllinux_1_1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

Python_EasyGraph-0.2a40-cp37-cp37m-musllinux_1_1_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

Python_EasyGraph-0.2a40-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (628.9 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

Python_EasyGraph-0.2a40-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (640.5 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

Python_EasyGraph-0.2a40-cp37-cp37m-macosx_10_9_x86_64.whl (547.3 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

Supported by

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