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 of graphs as sparse matrices in scipy format

  • 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.28.0 (2022-11-16)

  • Update Graph neural networks (e.g., add GraphSAGE), by Simon Delarue

  • Clean data home folder (set one folder per dataset collection, NetSet, Konect, …), by Thomas Bonald

  • Improve classification by diffusion, setting -1 to unreached nodes, by Thomas Bonald

  • Fix bug on modularity, raised by Alessandro (#543)

  • Clean up source distribution, by Nicholas Bollweg (#544)

  • Safe file extraction, by TrellixVulnTeam

  • Fix bug on dendrogram cut, raised by Nina Sachdev (#546)

  • Add a function to aggregate a graph per label, by Thomas Bonald

0.27.1 (2022-07-29)

  • Fix documentation

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.28.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.28.0
File Size Uploaded
scikit-network-0.28.0.tar.gz 1.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for scikit-network 0.28.0
File
scikit_network-0.28.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
scikit_network-0.28.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.28.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
scikit_network-0.28.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
scikit_network-0.28.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
scikit_network-0.28.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.28.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
scikit_network-0.28.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
scikit_network-0.28.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
scikit_network-0.28.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.28.0-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
scikit_network-0.28.0-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details

Total release size: 47.7 MB

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

Download URL scikit-network-0.28.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
cb6c7dd92f9071ded19d82f75ee09b9176ccf3e5909af5ea2f8a56700c8a728b
BLAKE2b-256 checksum
How to use checksums
111b29f6020b1910f1d4261c7793d3eaa2222d3391ec73d2ed6409f3dc0bb458
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.0-cp310-cp310-win_amd64.whl
Size 3.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
97930b09833b1c1a53bd0bd0753e0488d1fee9e023a0ad1aa6c3a80e5722c6a0
BLAKE2b-256 checksum
How to use checksums
0bfb93aea1cf54e481b91d932453a40038693d28c139a1f286124b7e2530ebd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.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
075e6a1ac9e0eaf95786e8ecc0dc78d505645e57f4a62bb22736b2a575389ea8
BLAKE2b-256 checksum
How to use checksums
cfbe6ef79a4a0d89d20d57c8941a84aa802f0efed8f133ca743a837f4e4b5829
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.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
9f080842ddad36a7357d8e026659ac641a7a0d114f357bf1349d3354332dc9c9
BLAKE2b-256 checksum
How to use checksums
b4ddb8d7d4b563b2aa72d772fb38ad9b56eb6bf4bfacee4e8f793c0af7f01917
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 1.8 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ea344f0f5e72cbb09b6d1ae4e5dcc86be76085f9b4011b9c92187e692ccdcd66
BLAKE2b-256 checksum
How to use checksums
32d936a8b635e0fbf51102a9aa698f12f7e3496a7a46998bec024b91ba2a1753
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.0-cp39-cp39-win_amd64.whl
Size 3.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
9f99df0fd422db59939dc5d724d58ae9b26c8a56ef3a5995b4a216d41a94f0f7
BLAKE2b-256 checksum
How to use checksums
22f66e92c8b6ffd1c220f16ba42e41419c7a1e8370011e32b2e3e5e496665d42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.6 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
015df6fc496d004f3e8dbeaa0344eebb679502d8e11f71acf73500c9c32990f2
BLAKE2b-256 checksum
How to use checksums
02599cea20639e729869942f00e1fbaf01b218aaa2d478408d4294a0de81dbe9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.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
c9630b7175cda9d2b752c4b6d5fb99e74ba4f80771917b58622cfac018f7d2cf
BLAKE2b-256 checksum
How to use checksums
f5660037ea1d92cfe9bea025e52632889c43e4cd46a1077b8bd3602a995d12ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 1.8 MB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f74902e023cc1a99777492ae6ad0c1ff572ce92a76301005465b87f46c428fb0
BLAKE2b-256 checksum
How to use checksums
0941b337a919ca7fc34774e7d8ff3cf0ea8e29bfc844ed3b040cc31968ee7185
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.0-cp38-cp38-win_amd64.whl
Size 3.3 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
d3529c90b938d5fb4dcbdf3f235a14da317dcc288ae37a42187a41763cf84ac3
BLAKE2b-256 checksum
How to use checksums
1cc1f456ee5f22ef2b02122bc6f2dd448db8cb76f251fa8a316f8b3765b96dc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.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
a0c12a7d398e20419fcfa04d58fbd20ac817f88cbadae4e6c317dc47d4c1a09b
BLAKE2b-256 checksum
How to use checksums
d4d07b085ab4b61acc411c40f05c3883454752bf4b2794f85ea04d2dc9d752aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.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
a7dfa19c475f3d64bf5d29bcbda2531a1527069cb73bf39a77d25119e022e944
BLAKE2b-256 checksum
How to use checksums
17f9f3dd67aab9b8032397e98f770cefcda802c75610b9a237ecf8482593748f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

Download URL scikit_network-0.28.0-cp38-cp38-macosx_10_9_x86_64.whl
Size 1.8 MB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
786db78a7018b4b48e11da7457fd7103a3e6fcb4187d5f1e1870e906c706b2a2
BLAKE2b-256 checksum
How to use checksums
a1dad89d171ed5b357a39152290ff52f78d66c8f18151b55b3d1d1b9933e6cfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release history Release notifications | RSS feed

0.32.0

4 release files

This release

0.28.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