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.2 (2022-11-30)

  • Allow Python 3.7, by Thomas Bonald

  • Fix input format for KMeans, issue #548 raised by @sgerbe

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

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

Built distributions (wheels)

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

Download URL scikit-network-0.28.2.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
ee890e7ece4534692699639a807d37a56bbf49fc3bec31d34bd3ed594ee951d4
BLAKE2b-256 checksum
How to use checksums
982cb8d22ff626e8036b431cd0bfd40e20239ae314b3721c57b89c1b52b69ad2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

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

Download URL scikit_network-0.28.2-cp310-cp310-win_amd64.whl
Size 3.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
bfaa1a607902c9b6ae5c3c738bd28b0f5e5ac9088a8eb29f56ad272e84572582
BLAKE2b-256 checksum
How to use checksums
500024c0908f5f3ba4afa53c803693800f378809041514ba4f500b3d0ee76c33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

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

Download URL scikit_network-0.28.2-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
11e3a3957b9a55f8486026c865a3b86186922c94bd3aacd0743ad92968916a34
BLAKE2b-256 checksum
How to use checksums
555e37667074f7b478645494e351e906292d8c4dfed1d81563f6f2ff12b85bb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

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

Download URL scikit_network-0.28.2-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
19deef1ff475533a4d8e6639bc92fcec755f93690bd38b2569ccb2c91c2e44d0
BLAKE2b-256 checksum
How to use checksums
2ecca91145a3593e8a18f9c76c07f9781ebc818cd7d5ec9fa6c93a4232221808
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

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

Download URL scikit_network-0.28.2-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
013d400aaddbf94147f9279d90ea13ee2f6f9bc46befb8ff6e1c88d1a0a54525
BLAKE2b-256 checksum
How to use checksums
ad6b12b2b17507c3ac719725379265bee6225e9dee329241dc89abe7e8af3925
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

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

Download URL scikit_network-0.28.2-cp39-cp39-win_amd64.whl
Size 3.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
7e76c6c21f5fb20626bbcbb3318c31e7de3ecaf973923935b0584e8b3a157a72
BLAKE2b-256 checksum
How to use checksums
622471dfa0dea93c6f91f7c424f4d49efa8d23bcada88e53f6e7df85430d1097
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

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

Download URL scikit_network-0.28.2-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
b34f28fca4a874e40eec668550c3393b3fd2e026d073bc7278c8c687d1d1515d
BLAKE2b-256 checksum
How to use checksums
1f7aa48c11fb59d3c7dc40adf549c1f6139220fc6b85783dae84710a88818d1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

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

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

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

Download URL scikit_network-0.28.2-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
ff84873f645396d808395ad78005a6570a024e497a409f3141913c7f4d60c61f
BLAKE2b-256 checksum
How to use checksums
c565823b821bb956b9c2370ad39b9d0f28083d7627ebd3720cb8aaeadcb7fb3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

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

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

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

Download URL scikit_network-0.28.2-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
62cdb525ffc9ed4191c8c24d641e73a4fb56bde4f376e28ff2e9fb56da5c0498
BLAKE2b-256 checksum
How to use checksums
faf10279dabd077ecdfa6704d9e0e462a0f001da702022747bb3e0e61bd0a7ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

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

Download URL scikit_network-0.28.2-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
58ac3ff0304abf52e50cf94027b3919670ca80aa7698a20144e51208b98eda1f
BLAKE2b-256 checksum
How to use checksums
1123154e44f9b2ad5355b2dbba00e3d3827ba3ed70d2cc0aec5e3acd40c6d230
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

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

Download URL scikit_network-0.28.2-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
5cb35ed7fc7f18b63bdc033f96d0d7e062d68fd65a24b3f868aab8fc14d50b23
BLAKE2b-256 checksum
How to use checksums
db92876cf782c37ad783b134ab09c38b0bedc87f19a038e3cd1fffa02c372127
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

Release history Release notifications | RSS feed

0.32.0

4 release files

This release

0.28.2 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