Skip to main content

Graph algorithms

Project description

logo sknetwork https://img.shields.io/pypi/v/scikit-network.svg https://github.com/sknetwork-team/scikit-network/actions/workflows/ci_checks.yml/badge.svg Documentation Status https://codecov.io/gh/sknetwork-team/scikit-network/branch/master/graph/badge.svg https://img.shields.io/pypi/pyversions/scikit-network.svg

Python package for the analysis of large graphs:

  • Memory-efficient representation as sparse matrices in the CSR format of scipy

  • Fast algorithms

  • Simple API inspired by scikit-learn

Resources

Quick Start

Install scikit-network:

$ pip install scikit-network

Import scikit-network in a Python project:

import sknetwork as skn

See examples in the tutorials; the notebooks are available here.

Citing

If you want to cite scikit-network, please refer to the publication in the Journal of Machine Learning Research:

@article{JMLR:v21:20-412,
  author  = {Thomas Bonald and Nathan de Lara and Quentin Lutz and Bertrand Charpentier},
  title   = {Scikit-network: Graph Analysis in Python},
  journal = {Journal of Machine Learning Research},
  year    = {2020},
  volume  = {21},
  number  = {185},
  pages   = {1-6},
  url     = {http://jmlr.org/papers/v21/20-412.html}
}

History

0.24.0 (2021-07-27)

  • Merge Bi* algorithms (e.g., BiLouvain -> Louvain) by Thomas Bonald (#490)

  • Transition from Travis to Github actions by Quentin Lutz (#488)

  • Added sdist build for conda recipes

  • Added name position for graph visualization

  • Removed randomized algorithms

0.23.1 (2021-04-24)

  • Updated NumPy and SciPy requirements

0.23.0 (2021-04-23)

  • New push-based implementation of PageRank by Wenzhuo Zhao (#475)

  • Fixed cut_balanced in hierarchy

  • Dropped Python 3.6, wheels for Python 3.9 (switched to manylinux2014)

0.22.0 (2021-02-09)

  • Added hierarchical Louvain embedding by Quentin Lutz (#468)

  • Doc fixes and updates

  • Requirements update

0.21.0 (2021-01-29)

  • Added random projection embedding by Thomas Bonald (#461)

  • Added PCA-based embedding by Thomas Bonald (#461)

  • Added 64-bit support for Louvain by Flávio Juvenal (#450)

  • Added verbosity options for dataset loaders

  • Fixed Louvain embedding

  • Various doc and tutorial updates

0.20.0 (2020-10-20)

  • Added betweenness algorithm by Tiphaine Viard (#444)

0.19.3 (2020-09-17)

  • Added Louvain-based embedding

  • Fix documentation with new dataset website URLs

0.19.2 (2020-09-14)

  • Fix documentation with new dataset website URLs.

0.19.1 (2020-09-09)

  • Fix visualization features

  • Fix documentation

0.19.0 (2020-09-02)

  • Added link prediction module

  • Added pie-node visualization of memberships

  • Added Weisfeiler-Lehman graph coloring by Pierre Pebereau and Alexis Barreaux (#394)

  • Added Force Atlas 2 graph layout by Victor Manach and Rémi Jaylet (#396)

  • Added triangle listing algorithm for directed and undirected graph by Julien Simonnet and Yohann Robert (#376)

  • Added k-core decomposition algorithm by Julien Simonnet and Yohann Robert (#377)

  • Added k-clique listing algorithm by Julien Simonnet and Yohann Robert (#377)

  • Added color map option in visualization module

  • Updated NetSet URL

0.18.0 (2020-06-08)

  • Added Katz centrality

  • Refactor connectivity module into paths and topology

  • Refactor Diffusion into Dirichlet

  • Added parsers for adjacency list TSV and GraphML

  • Added shortest paths and distances

0.17.0 (2020-05-07)

  • Add clustering by label propagation

  • Add models

  • Add function to build graph from edge list

  • Change a parameter in SVG visualization functions

  • Minor corrections

0.16.0 (2020-04-30)

  • Refactor basics module into connectivity

  • Cython version for label propagation

  • Minor corrections

0.15.2 (2020-04-24)

  • Clarified requirements

  • Minor corrections

0.15.1 (2020-04-21)

  • Added OpenMP support for all platforms

0.15.0 (2020-04-20)

  • Updated ranking module : new pagerank solver, new HITS params, post-processing

  • Polynomes in linear algebra

  • Added meta.name attribute for Bunch

  • Minor corrections

0.14.0 (2020-04-17)

  • Added spring layout in embedding

  • Added label propagation in classification

  • Added save / load functions in data

  • Added display edges parameter in svg graph exports

  • Corrected typos in documentation

0.13.3 (2020-04-13)

  • Minor bug

0.13.2 (2020-04-13)

  • Added wheels for multiple platforms (OSX, Windows (32 & 64 bits) and many Linux) and Python version (3.6/3.7/3.8)

  • Documentation update (SVG dendrograms, tutorial updates)

0.13.1a (2020-04-09)

  • Minor bug

0.13.0a (2020-04-09)

  • Changed from Numba to Cython for better performance

  • Added visualization module

  • Added k-nearest neighbors classifier

  • Added Louvain hierarchy

  • Added predict method in embedding

  • Added soft clustering to clustering algorithms

  • Added soft classification to classification algorithms

  • Added graphs in data module

  • Various API change

0.12.1 (2020-01-20)

  • Added heat kernel based node classifier

  • Updated loaders for WikiLinks

  • Fixed file-related issues for Windows

0.12.0 (2019-12-10)

  • Added VerboseMixin for verbosity features

  • Added Loaders for WikiLinks & Konect databases

0.11.0 (2019-11-28)

  • sknetwork: new API for bipartite graphs

  • new module: Soft node classification

  • new module: Node classification

  • new module: data (merge toy graphs + loader)

  • clustering: Spectral Clustering

  • ranking: new algorithms

  • utils: K-neighbors

  • hierarchy: Spectral WardDense

  • data: loader (Vital Wikipedia)

0.10.1 (2019-08-26)

  • Minor bug

0.10.0 (2019-08-26)

  • Clustering (and related metrics) for directed and bipartite graphs

  • Hierarchical clustering (and related metrics) for directed and bipartite graphs

  • Fix bugs on embedding algorithms

0.9.0 (2019-07-24)

  • Change parser output

  • Fix bugs in ranking algorithms (zero-degree nodes)

  • Add notebooks

  • Import algorithms from scipy (shortest path, connected components, bfs/dfs)

  • Change SVD embedding (now in decreasing order of singular values)

0.8.2 (2019-07-19)

  • Minor bug

0.8.1 (2019-07-18)

  • Added diffusion ranking

  • Minor fixes

  • Minor doc tweaking

0.8.0 (2019-07-17)

  • Changed Louvain, BiLouvain, Paris and PageRank APIs

  • Changed PageRank method

  • Documentation overhaul

  • Improved Jupyter tutorials

0.7.1 (2019-07-04)

  • Added Algorithm class for nicer repr of some classes

  • Added Jupyter notebooks as tutorials in the docs

  • Minor fixes

0.7.0 (2019-06-24)

  • Updated PageRank

  • Added tests for Numba versioning

0.6.1 (2019-06-19)

  • Minor bug

0.6.0 (2019-06-19)

  • Largest connected component

  • Simplex projection

  • Sparse Low Rank Decomposition

  • Numba support for Paris

  • Various fixes and updates

0.5.0 (2019-04-18)

  • Unified Louvain.

0.4.0 (2019-04-03)

  • Added Louvain for directed graphs and ComboLouvain for bipartite graphs.

0.3.0 (2019-03-29)

  • Updated clustering module and documentation.

0.2.0 (2019-03-21)

  • First real release on PyPI.

0.1.1 (2018-05-29)

  • First release on PyPI.

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

scikit-network-0.24.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

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

scikit_network-0.24.0-cp39-cp39-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.9Windows x86-64

scikit_network-0.24.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

scikit_network-0.24.0-cp39-cp39-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

scikit_network-0.24.0-cp38-cp38-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.8Windows x86-64

scikit_network-0.24.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (8.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

scikit_network-0.24.0-cp38-cp38-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

scikit_network-0.24.0-cp37-cp37m-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.7mWindows x86-64

scikit_network-0.24.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

scikit_network-0.24.0-cp37-cp37m-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file scikit-network-0.24.0.tar.gz.

File metadata

  • Download URL: scikit-network-0.24.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for scikit-network-0.24.0.tar.gz
Algorithm Hash digest
SHA256 e25598e4990f0cb9cf736090b16810666ec0367d356283e991818e8b544aad5a
MD5 15e45067140eaf09b382fd1f059a1fb7
BLAKE2b-256 0d8dce66f4aca4f466621a57d181c7030607fe822fa6035d4e154ff5d3a12792

See more details on using hashes here.

File details

Details for the file scikit_network-0.24.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: scikit_network-0.24.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for scikit_network-0.24.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0833209f621f3d652a4cac3080b974aa92c6ddf27f5b63eb7f471d0ea4c5aa2e
MD5 070ed93ce3feb346106d5806c60eb35d
BLAKE2b-256 afe41a4a64ae2baa3606404d75190b8ce9380c3193c3960ab7ad97d3a39919d8

See more details on using hashes here.

File details

Details for the file scikit_network-0.24.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.24.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b651901c46d34621e70452415762a9a2fb2edf6d3cc8ecaa906901f374050068
MD5 2c97904c9c73f0584a56d3fb55a0a2a0
BLAKE2b-256 02f22e490e18a57823d645e9ef00ab69cd3c3c219f2c1a6c5f00ff2d7d1c71b6

See more details on using hashes here.

File details

Details for the file scikit_network-0.24.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: scikit_network-0.24.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for scikit_network-0.24.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 93f8dd7cc46a9292578d879fb7f513aae78ada8449407e52cc0f8b254d619ada
MD5 a813b290e5c017a2c8b01f66c5591b15
BLAKE2b-256 29b2c01b302ae52fa75cddb02cb36559ee5dec83375666375c3b8fc56238aee3

See more details on using hashes here.

File details

Details for the file scikit_network-0.24.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: scikit_network-0.24.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for scikit_network-0.24.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0467d19db67198068ea17e09c07ecb8d82775a821f4deaef8d53c5c1ee77db0e
MD5 7608fd1e20235cdd440e191bb4c69d2f
BLAKE2b-256 0a32bedc674e9ea8ed59c19ad5b143696f0660fff59ff16f09d2006154b62444

See more details on using hashes here.

File details

Details for the file scikit_network-0.24.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.24.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5a9a7c3f0ba0afe6d84e610dc4d5d618736758306859ef3531875926ee1d1110
MD5 b73fe84e5beae099b4711e298b13c29b
BLAKE2b-256 29a1c09d0f4a1b42f4a1e86face7af7449f1b270fd058be864016b00d4e342dc

See more details on using hashes here.

File details

Details for the file scikit_network-0.24.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: scikit_network-0.24.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for scikit_network-0.24.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7b943bcbdbf3fb91bd2d8cc2722d3256663bbbf46be82f2f1b66dfcddb3eccbf
MD5 38380604c70bc575f66b82516a28ab5b
BLAKE2b-256 7a2022de0fa79b7aa2b8fcb4ed7d2c80795f13b0e82b04911ed4b0533a907df9

See more details on using hashes here.

File details

Details for the file scikit_network-0.24.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: scikit_network-0.24.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for scikit_network-0.24.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f0ac1e17691ad4caca1136731c76e698f95851f0d93f6cbce1097cbb90480ca7
MD5 6ca367b4a9b0dfd50b031050d8be15e4
BLAKE2b-256 9b40156ae63ba003ada264c167c2456d4d1b680d11cd8d135347531036293114

See more details on using hashes here.

File details

Details for the file scikit_network-0.24.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.24.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ec20aa234960c39df45b06788687788c629118d4d39a6fe87c4f99acc1e69f71
MD5 bf9fc3a91aebead3a762c19dc10b6a1a
BLAKE2b-256 4e5d6b6faef4fc7913f3b3e9f3b1ea60a5c1e57d21602774b85e50be1b4f81e6

See more details on using hashes here.

File details

Details for the file scikit_network-0.24.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: scikit_network-0.24.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for scikit_network-0.24.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a091c07987613e817f409c21616734eef9c867ac4afb50fda83db69db31f254f
MD5 855ca92e6f710e822f67fe090b1b5be5
BLAKE2b-256 b6de1ec83b726cad50dc9398d795ff71267c02d7f8c6f2369dc736cae84c871d

See more details on using hashes here.

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