Skip to main content
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:

import sknetwork

See our tutorials; the notebooks are available here.

You can also have a look at some use cases.

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.27.0 (2022-07-29)

  • Drop Python 3.7

  • Update NumPy and SciPy requirements

  • Add graph neural networks, by Simon Delarue (#533)

  • Add fit_predict / fit_transform where appropriate, by Thomas Bonald

  • Add Louvain hierarchical clustering (bottom-up), by Thomas Bonald

  • Improve classification by diffusion (vectorial), by Thomas Bonald

  • Add F1 scores for classification, by Thomas Bonald

  • Add cosine similarity metric for embeddings, by Thomas Bonald

  • Add acyclic test for undirected graphs, by Thomas Bonald

  • Update algorithms to accept all sparse matrix formats of scipy, by Thomas Bonald

0.26.0 (2022-05-03)

  • Add module on regression, by Thomas Bonald

  • Add connected components for bipartite graphs, by Thomas Bonald

  • Update functions for loading graphs, by Thomas Bonald

  • Fix shuffling nodes in Louvain (issue #521), by Thomas Bonald

  • Add radius and eccentricity metrics, by Henry Carscadden (#522)

  • Add new use case (recommendation), by Thomas Bonald

0.25.0 (2022-03-15)

  • Add use cases as notebooks, by Thomas Bonald

  • Add list/dict of neighbors for building graphs, by Thomas Bonald

  • Update Spectral embedding, by Thomas Bonald

  • Update Block models, by Thomas Bonald (#507)

  • Fix Tree sampling divergence, by Thomas Bonald (#505)

  • Allow parsers to return weighted graphs, by Thomas Bonald

  • Add Apple Silicon and Python 3.10 wheels, by Quentin Lutz (#503)

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.

Metadata

Release files for scikit-network 0.27.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scikit-network 0.27.0
File Size Uploaded
scikit-network-0.27.0.tar.gz 1.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for scikit-network 0.27.0
File
scikit_network-0.27.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
scikit_network-0.27.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
scikit_network-0.27.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
scikit_network-0.27.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
scikit_network-0.27.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
scikit_network-0.27.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
scikit_network-0.27.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
scikit_network-0.27.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
scikit_network-0.27.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
scikit_network-0.27.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
scikit_network-0.27.0-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
scikit_network-0.27.0-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details

Total release size: 48.3 MB

Release files / scikit-network-0.27.0.tar.gz

Download URL scikit-network-0.27.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
a6f013206cbe85a7c2e9b815fa2267b25313b888adda2f854bcd72e13d731812
BLAKE2b-256 checksum
How to use checksums
7ede33e127743280f409b28388b45366f0b09dd83c6b2ba6fd2b30f725fa8298
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp310-cp310-win_amd64.whl

Download URL scikit_network-0.27.0-cp310-cp310-win_amd64.whl
Size 3.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e8a81ed4cf20e3e58120431dabba7cdf26f03747820fe5c2c895428a2a8a30ab
BLAKE2b-256 checksum
How to use checksums
d1e80be30cb4bf5f79c9671cce0e33ab37803bd7fd3fb30d608b98a34e75e88d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_network-0.27.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.6 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fb4c175bd2a3d2e52ec9b7b0c5668a0749c07caa783356e7ebd537b59461d328
BLAKE2b-256 checksum
How to use checksums
ea67052fc74af87df3a93f6216d6608ab4f8619cce212589637936b042053591
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL scikit_network-0.27.0-cp310-cp310-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
240a5ef513d656fd8cd865c778334bb1881378937435d103ee129a83180aef8f
BLAKE2b-256 checksum
How to use checksums
f3b04961a1199940c2667aac9e1ca50d689d668d1698f18fdd15414adcd526b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL scikit_network-0.27.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 2.1 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
cd3c8488b875a65a0e6c0be425d0f42b1635b6c6499e65f0d24ac8184605d692
BLAKE2b-256 checksum
How to use checksums
5a8e0f43427cb3e53fc97a87dce29027ccc58a131cf20628239a0432d69f71fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp39-cp39-win_amd64.whl

Download URL scikit_network-0.27.0-cp39-cp39-win_amd64.whl
Size 3.2 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
c09de335153182dfc83df6e77e1e392fc94b34a9f7add661d72d805d2df39cff
BLAKE2b-256 checksum
How to use checksums
2e4b3c048ef20f6fe8ab9d73fbacdcc0b86d3892f83b8da9be32f68852a1ec37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_network-0.27.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.5 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f3b3dcbb4331d61ee322de682a19e705ec54cae7e6edae3b8bf05a07c88169f2
BLAKE2b-256 checksum
How to use checksums
e27d6a967c308833154dd02788ee58bbf9c49dc0c9ae54a807ae16780887b6ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL scikit_network-0.27.0-cp39-cp39-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2e1ab361d060d8507d9fb4687340096bb09448db4009504098ea4c4dc02f93f7
BLAKE2b-256 checksum
How to use checksums
942de9d18bdf9cc64ab069e43b16e02405692fef99dfc3d27b8df712152a3f56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp39-cp39-macosx_10_9_x86_64.whl

Download URL scikit_network-0.27.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 2.1 MB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
d9ed0c1585934f4f075699a8446c06901a237471832f4eec860eeb7ce078da5e
BLAKE2b-256 checksum
How to use checksums
2aaf23a7deb5845080e9af2fb807f1e85bed81c9090f6bbeaaadca3cf9a7c063
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp38-cp38-win_amd64.whl

Download URL scikit_network-0.27.0-cp38-cp38-win_amd64.whl
Size 3.2 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
88e6fc7c78febd4046f0e613e5f3bf7e24580c0cf7ed997a485bee75e198a076
BLAKE2b-256 checksum
How to use checksums
7cbc8d6b3978c7c02ac7929500e441519af0e1486fd87a0a208ed61d10e5e0da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_network-0.27.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.7 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
63ba9b637a4dd9c36a7b4102f0b84864154b309eb554640290636759b17853da
BLAKE2b-256 checksum
How to use checksums
932053ed0fa2c99cdbd389a09d4410cab585ebeb22198d2a3e2bb735a2799431
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp38-cp38-macosx_11_0_arm64.whl

Download URL scikit_network-0.27.0-cp38-cp38-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
61e27c637515136217f0e387cb6a0e6d57ec5fd8c9ee52bea726f40894f66bda
BLAKE2b-256 checksum
How to use checksums
2c8597fdfb21e72a8f89eda801832b1a652afbcfb9d5b39cd78f06af9782cc62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / scikit_network-0.27.0-cp38-cp38-macosx_10_9_x86_64.whl

Download URL scikit_network-0.27.0-cp38-cp38-macosx_10_9_x86_64.whl
Size 2.1 MB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
543cb4a5c21489dbfa2bf0f650a91a73610917ebed45d3f70bce90b9be8b2ae5
BLAKE2b-256 checksum
How to use checksums
1311ed3aeff6aa96fe80e53d88c2a4c912ce5bfde2728676fac2f10570cc5251
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release history Release notifications | RSS feed

0.32.0

4 release files

This release

0.27.0 This release

13 release files

0.21.0

9 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page