skillfed

scikit-network

Graph algorithms

scikit-network v0.33.5 1.1M downloads/30d#4,357 on PyPI633
Permissive license BSD License Active released

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-network

uv

uv add scikit-network

poetry

poetry add scikit-network

Installing 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

Development Status :: 3 - AlphaIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishProgramming Language :: CythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

graph algorithms pythonnetwork analysis librarygraph machine learningsparse matrix graphsnetwork science pythoncommunity detectiongraph analysis
graph-algorithmsnetwork-analysissparse-matrices

More Scientific/Engineering packages