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.1 (2022-11-22)

  • Fix sampling for GraphSage, by Simon Delarue

  • Fix leakage on GNNs, by Thomas Bonald and Simon Delarue

  • Update tutorial on GNNs with node inference, by Thomas Bonald and Simon Delarue

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

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.1
File Size Uploaded
scikit-network-0.28.1.tar.gz 1.8 MB Details

Built distributions (wheels)

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

Download URL scikit-network-0.28.1.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
7d14f57145c966efc80bbdb729e5ada013e19d7a32510fbbe49a9e02eceb6348
BLAKE2b-256 checksum
How to use checksums
4660fa0e86d354a8e986546e23058ca56333a3c3e9bedb192d3c8b5eac01cb4e
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.1-cp310-cp310-win_amd64.whl

Download URL scikit_network-0.28.1-cp310-cp310-win_amd64.whl
Size 3.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2a51f7741a0130ec557b93bf65bffa268065ca547e1009fbb1bade69df9e0a5e
BLAKE2b-256 checksum
How to use checksums
58918ccd48544fda255dc1e3beadc7ff0e0da153e99eceb88c9045db5d706427
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.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_network-0.28.1-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
15da1bfcc0ff29153cd5f54c68bdd6feca0b7a6b8ae8719148cf1353c7892865
BLAKE2b-256 checksum
How to use checksums
4d3e768cf5253e61beef637d47cb9c1306192e4cdcd003290f9113c813329df4
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.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL scikit_network-0.28.1-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
e75341fe0016f1e8b39f920c6707f5d6a7205f689760988d91ead76405747ac3
BLAKE2b-256 checksum
How to use checksums
b802e664abc50ea153f159f9f103deefb883dad97cb083bf6e204200cd0f7387
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.1-cp310-cp310-macosx_10_9_x86_64.whl

Download URL scikit_network-0.28.1-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
dff05f7f38d4bfb8ce4c6890127e866358a3526040f312382b7da3e19f9e379b
BLAKE2b-256 checksum
How to use checksums
19c9f255bdbbf2e2fcfe00f38b7f504945699869cf3881d637c6128fa414d987
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.1-cp39-cp39-win_amd64.whl

Download URL scikit_network-0.28.1-cp39-cp39-win_amd64.whl
Size 3.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
ad2d96f19e8a162aecaed9524c425d0bb693e1f4fb5275f28e3553cb46b128ad
BLAKE2b-256 checksum
How to use checksums
1453737e74e363e8258a9c454688ad7e986687db92858e5ea59c33bc8cfb2754
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.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_network-0.28.1-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
c5a2591ea3a4f63e50163f1c72dd11b72a6d324864981b0274b422682736a806
BLAKE2b-256 checksum
How to use checksums
7dee207a791fc225e345bbbadf90c42f3837a245acb4f91e88798e93d88f67c9
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.1-cp39-cp39-macosx_11_0_arm64.whl

Download URL scikit_network-0.28.1-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
767636a2dd4c6f3c3af15d8a65470de6f77e2a8a0514f7ee2f881b68d73ac0ec
BLAKE2b-256 checksum
How to use checksums
f641f3c664c566c276f4b6a142ee619dacd5dcb90e74777578d5fc3a30ab7d6d
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.1-cp39-cp39-macosx_10_9_x86_64.whl

Download URL scikit_network-0.28.1-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
c87e68ebaf823be3f3c8faa54a80232b61dc92b6a3b63071bcf1adcbd5bbaa3f
BLAKE2b-256 checksum
How to use checksums
94c262e2257be63330d4c4195221f2ea2690b38fbd6f3728452f78e2b68f42ea
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.1-cp38-cp38-win_amd64.whl

Download URL scikit_network-0.28.1-cp38-cp38-win_amd64.whl
Size 3.3 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
9d555fcb6a6e0b191f3c0f4f6039ab41bb9ad5ba828cd59a4aaca98c55cf2e21
BLAKE2b-256 checksum
How to use checksums
2e479fe6279e1430d7577c3a332e85bd29e7a58835d9082fc816fcf1b5f66255
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.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_network-0.28.1-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
5f6ec6564727c47529e3b229a886a4d3ce60d4350071594e8b7ca1f14f1a1ff5
BLAKE2b-256 checksum
How to use checksums
b39532341489e6b3081ed493dca1d25f0becfcd2e79735bb6f75dfac7b85862d
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.1-cp38-cp38-macosx_11_0_arm64.whl

Download URL scikit_network-0.28.1-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
665ad57ec9ae5098534a335ef3a1da295476e3528074c58caebe91a82ab6e6bc
BLAKE2b-256 checksum
How to use checksums
e5a2b666c6bf2b3097beae60bfed8c2e3820600db7ecb27adbb9e99bf34a0432
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.1-cp38-cp38-macosx_10_9_x86_64.whl

Download URL scikit_network-0.28.1-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
0535657d7ef8b8733d1de189310595bb9efd3c4d6600d4bc0b9a91899cecdd7a
BLAKE2b-256 checksum
How to use checksums
4a24dbde47d005ed92b61fcbae12a262827e60d83264726a2e21f0e12e17b16e
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.1 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