Skip to main content

Graph algorithms

Project description

logo sknetwork https://img.shields.io/pypi/v/scikit-network.svg https://travis-ci.org/sknetwork-team/scikit-network.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.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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

scikit_network-0.23.0-cp39-cp39-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.9Windows x86-64

scikit_network-0.23.0-cp39-cp39-win32.whl (1.3 MB view details)

Uploaded CPython 3.9Windows x86

scikit_network-0.23.0-cp39-cp39-manylinux2014_x86_64.whl (8.7 MB view details)

Uploaded CPython 3.9

scikit_network-0.23.0-cp39-cp39-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

scikit_network-0.23.0-cp38-cp38-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.8Windows x86-64

scikit_network-0.23.0-cp38-cp38-win32.whl (1.3 MB view details)

Uploaded CPython 3.8Windows x86

scikit_network-0.23.0-cp38-cp38-manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.8

scikit_network-0.23.0-cp38-cp38-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

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

Uploaded CPython 3.7mWindows x86-64

scikit_network-0.23.0-cp37-cp37m-win32.whl (1.3 MB view details)

Uploaded CPython 3.7mWindows x86

scikit_network-0.23.0-cp37-cp37m-manylinux2014_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.7m

scikit_network-0.23.0-cp37-cp37m-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: scikit_network-0.23.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for scikit_network-0.23.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1c6363a50bc46a2b1eff3775b9173b73d7a26250810c7416508a088154cef550
MD5 dcfe2c63f8fc5f458b9a4f39e48bf347
BLAKE2b-256 2c27f63d0bf9679a4bd4e099484772f574044cfb07ad5ecba6a7719d5f7a94a4

See more details on using hashes here.

File details

Details for the file scikit_network-0.23.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: scikit_network-0.23.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for scikit_network-0.23.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 e6586cbebec3a7192466257c864721a5ebbd081761abbadc192a9759e38dd2fa
MD5 6b67dc69effb002ab919a7f301f8bfe6
BLAKE2b-256 5c2b3d95c0de256fe3f76808cfbedebf4fd9aee509a1e1e324734d0b65610916

See more details on using hashes here.

File details

Details for the file scikit_network-0.23.0-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: scikit_network-0.23.0-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 8.7 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.7

File hashes

Hashes for scikit_network-0.23.0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a27397a19bf50043466dc538d7ccdb45c85b995e6732cdbabccf9d07ec2dc709
MD5 1f98ffd349cf83ccc44935d42860ed92
BLAKE2b-256 706c3a62e822a8552daa77f4ce002104d3163a59fc03bd77674934c86bdbb438

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scikit_network-0.23.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.2

File hashes

Hashes for scikit_network-0.23.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f2073b79b7e91649a31d67c6acd384ac4d8cfe3b1fd4599d7ad5165f2ff87825
MD5 cf5f3f275c8787dac93cf78a5be59b6f
BLAKE2b-256 04856d8958f1cb8966a150c7902301e0fb02f7e99c3b51400674efa1e1a4dc3c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scikit_network-0.23.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for scikit_network-0.23.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c19822e9b7b4cc268c7564dc3cf353ea90d966a4cd60cb459e9a1abe650f5b2c
MD5 fd84e7c7cf83cfc3563ec2587cd23957
BLAKE2b-256 e352a642419b6c3576a419b7c58383f9b8141239a3f9098358c126597a5474af

See more details on using hashes here.

File details

Details for the file scikit_network-0.23.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: scikit_network-0.23.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for scikit_network-0.23.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 a2596f5cd05b384ffaa6229ac88c861a881935574c4a056aef271b51ea09193c
MD5 7a3c376e1c2cd68836e230b857fd6a27
BLAKE2b-256 01b1df2fe048ff06ad6480bc1618c108fd092bd298508fbf23bdd6ba3a0817ab

See more details on using hashes here.

File details

Details for the file scikit_network-0.23.0-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: scikit_network-0.23.0-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 9.0 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.7

File hashes

Hashes for scikit_network-0.23.0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ace1f4b9753a1b737e08d9f71f584835cbe23ae1e49bdf62dd87410144d2e26e
MD5 86c7e25102f2fe94e7e68faf01a26c4c
BLAKE2b-256 6c5a6cb35245270d82648aea85d55686e992956cb089b06677fbfe8d730fc78a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scikit_network-0.23.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.2

File hashes

Hashes for scikit_network-0.23.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5102cb80a3c1de5f05218887139b4f3db484106382946f445008eaa0954b27aa
MD5 3c16cc61f4cb410634a5870922137944
BLAKE2b-256 d9bc5e7b9f5522c21e48381ded23ae09b364348ca988b0cadb110dd4bdf48f5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scikit_network-0.23.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.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for scikit_network-0.23.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 40013f32e87da15e6fdafb8a065b5ef24483b18d71e44f27a8142380e8792eda
MD5 c6981563fcb50b4db2959efd74ae7952
BLAKE2b-256 7b0b646724cab623d77e1a6c8340c3f11fec1a4fde6154a909fd69a6447618bd

See more details on using hashes here.

File details

Details for the file scikit_network-0.23.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: scikit_network-0.23.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for scikit_network-0.23.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 acbf7f6cdeacd8c55842251924740a1a75349538ca0cf1a3fff4c3702810727f
MD5 b15e29d1aede26e8ac0c585ed0b90278
BLAKE2b-256 9a9a46210bd717f43b7308d3d6c710ba085141ee24125f2920101578c43b75bc

See more details on using hashes here.

File details

Details for the file scikit_network-0.23.0-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: scikit_network-0.23.0-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 8.4 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.7

File hashes

Hashes for scikit_network-0.23.0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e9aa17883435e7d00be65e4115ba9e3155b0a6c8b428a5e9a040ca01e0956246
MD5 d769ca0289419650a696447aafbaf13b
BLAKE2b-256 af3a2bd64d686649955022eb2acaae5a794389ea51f5a1ded89cea7ccc131a39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scikit_network-0.23.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.2

File hashes

Hashes for scikit_network-0.23.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9a8be6bae2d7a7e6064580eb51e76ff69c1c8ef0ef7509a697022e8891c655ee
MD5 bfe472739b5bb6586cdbcd5b9b1460f9
BLAKE2b-256 3eb57aff8f8ba88d4e6c9f5bae1cfb42b674d6a2632c842d582c3d6f02ec5613

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