scikit-network
Graph algorithms
What it is and what it does
scikit-network is a Python library for analyzing and computing on graph-structured data, using memory-efficient sparse matrix representations compatible with scipy. It combines fast algorithms with an API modeled after scikit-learn, making it accessible to users familiar with the broader Python machine-learning ecosystem. The library depends on numpy and scipy for its numerical and sparse-matrix foundations.
The package is actively maintained, supports Python 3.10–3.14, and is published under a permissive BSD License. It has been in development since 2018 and is cited in peer-reviewed literature, indicating established use in research and production settings. Medium install friction is offset by comprehensive platform coverage with pre-built wheels.
Use it for:
- Analyze community structure or clustering within social networks and collaboration graphs.
- Compute node centrality and importance rankings in large network datasets.
- Process citation networks, co-authorship graphs, or academic collaboration structures.
- Incorporate graph topology as features in machine-learning pipelines.
- Perform link prediction or graph embedding on sparse real-world networks.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
scikit-network provides graph algorithms and analysis tools for Python, representing graphs as sparse matrices and offering a scikit-learn-inspired API for machine learning on network data.
Yes. scikit-network is actively maintained with no known vulnerabilities, supports current Python versions (3.10–3.14), and offers a mature, well-documented API for graph analysis. Medium install friction is manageable with pre-built wheels across major platforms. Suitable for research, production graph analysis, and machine-learning workflows involving network data.
Install
scikit-network on PyPI
pip
pip install scikit-networkuv
uv add scikit-networkpoetry
poetry add scikit-networkInstalling scikit-network
Before you install
Medium install friction due to compiled wheels, but well-supported across Python 3.10–3.14 and major platforms (macOS, Linux, Windows). Active maintenance with recent commits and no known vulnerabilities.
License in practice
BSD License (permissive) allows commercial and private use with minimal restrictions; you may use and modify freely as long as you retain the license notice.
Quickstart
pip install scikit-network
import scikit-network
# Load or create a graph and apply algorithms from the library
Requires Python 3.10 or later; compiled extensions require a compatible C/C++ toolchain on some platforms.
Verify before relying
- Specific graph algorithms available and their computational complexity or scalability limits.
- Whether the library supports directed, undirected, weighted, or all graph types.
- Performance benchmarks or typical throughput for real-world network datasets.
- Detailed feature set beyond memory-efficient sparse matrix representation and fast algorithms.
Package facts
| License | BSD License (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — numpy, scipy |
| Maintenance | actively maintained — 268 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,109,468/month — #4,357 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: scikit_network-0.33.5-cp310-cp310-macosx_10_9_x86_64.whl; scikit_network-0.33.5-cp310-cp310-macosx_11_0_arm64.whl; scikit_network-0.33.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; scikit_network-0.33.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; scikit_network-0.33.5-cp310-cp310-win_amd64.whl; scikit_network-0.33.5-cp311-cp311-macosx_10_9_x86_64.whl; scikit_network-0.33.5-cp311-cp311-macosx_11_0_arm64.whl; scikit_network-0.33.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; scikit_network-0.33.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; scikit_network-0.33.5-cp311-cp311-win_amd64.whl; scikit_network-0.33.5-cp312-cp312-macosx_10_13_x86_64.whl; scikit_network-0.33.5-cp312-cp312-macosx_11_0_arm64.whl; scikit_network-0.33.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; scikit_network-0.33.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; scikit_network-0.33.5-cp312-cp312-win_amd64.whl; scikit_network-0.33.5-cp313-cp313-macosx_10_13_x86_64.whl; scikit_network-0.33.5-cp313-cp313-macosx_11_0_arm64.whl; scikit_network-0.33.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; scikit_network-0.33.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; scikit_network-0.33.5-cp313-cp313-win_amd64.whl
Keywords: sknetwork
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
spark-sklearnDistributes scikit-learn model training and…
permissive · top 15,000 on PyPI
graspologicGraspologic provides graph statistical…
permissive · top 15,000 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
graphframesGraphFrames provides distributed graph…
permissive · top 5,000 on PyPI
scikit-survivalscikit-survival provides survival analysis…
copyleft · top 15,000 on PyPI
python-igraphPython interface to the igraph graph library…
copyleft · top 15,000 on PyPI
spaghettiSpaghetti analyzes network-based spatial data…
permissive · top 15,000 on PyPI
libpysallibpysal provides core spatial analysis…
permissive · top 15,000 on PyPI
sparse-dot-topnPerforms fast sparse matrix multiplication with…
permissive · top 15,000 on PyPI
PenmanPenman is a Python library for reading,…
permissive · top 15,000 on PyPI