Skip to main content

Graph algorithms

Project description

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scikit-network-0.26.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

scikit_network-0.26.0-cp310-cp310-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.10Windows x86-64

scikit_network-0.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

scikit_network-0.26.0-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

scikit_network-0.26.0-cp310-cp310-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

scikit_network-0.26.0-cp39-cp39-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.9Windows x86-64

scikit_network-0.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

scikit_network-0.26.0-cp39-cp39-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

scikit_network-0.26.0-cp39-cp39-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

scikit_network-0.26.0-cp38-cp38-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.8Windows x86-64

scikit_network-0.26.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

scikit_network-0.26.0-cp38-cp38-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

scikit_network-0.26.0-cp38-cp38-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

scikit_network-0.26.0-cp37-cp37m-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.7mWindows x86-64

scikit_network-0.26.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

scikit_network-0.26.0-cp37-cp37m-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file scikit-network-0.26.0.tar.gz.

File metadata

  • Download URL: scikit-network-0.26.0.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for scikit-network-0.26.0.tar.gz
Algorithm Hash digest
SHA256 64d3915540f28585e7ce97278fbacb03f2b425d77b11c5fb20103f583e6bb89a
MD5 4b50bf30726ba1ed46a07911f3e3e377
BLAKE2b-256 8d7838f06daceaba37a4a100fd67e600a6453b949a242e483bfd0a00ee9644b5

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d8310d5e67520213fdb0accdc8a5451af1d88782c3dbc80ed981da64dfee06b4
MD5 3dc56eba2c7adc7eb611757800c49075
BLAKE2b-256 96ce5ee02f5b5d09377d85362830792ce6b1e5e433bf326bd26dd19ac12bf5dc

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a46f30eb45c51218e437f1e324036721c95b2fbfb9dbfa805b9f0b101890edbb
MD5 8ba17bb39f3e974fbdb4cd3375ffa5f7
BLAKE2b-256 8e950df57d011fe24d49403aeff8b348f2a546d673ef45b5cbd9ab6f118ab792

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3628bfbd5362e174d000d0ae43b1154c79018381d471f5ae5c5fa6abe6b4a279
MD5 5a1aef0239c95561fcb45ae3d8e18aa4
BLAKE2b-256 3c744f3e2b6b680c1e4e348c6fd3ca049f78f01c9c4f56a114caae67e759bee5

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 29b02b173766b2296bcbb8fec66ceadfeeca6f00966cecf8764320102b59435b
MD5 32c3fa80adec1cf941e21fa26682c697
BLAKE2b-256 52c3933e77c3184fd1a1b74c6e778ccbd53b7b5d78c75e618f3de62c38ebf481

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5da00ad7b60d907595c9b2cad53832395b159c836c30ae35c742a3c8ae18fec7
MD5 189feb2e02d3a9c88e9a71c0cf58dc32
BLAKE2b-256 bad152ebb9cb53c0a9be4621ad1222248194a0f18361d21152f9dad54d153517

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f041b60f914bd3d9e068375b61b876d679039651b08dbe6f9622ae4adacba55d
MD5 d19b37acd2b9bf11ad59a33718c362a2
BLAKE2b-256 fec39982f4500b94d7ab2b5abde991c25c1d01d954a6e6c9f1d2cd532b8a75ba

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f345c196bd6de6583011c4bcc6795afec385581243e46e1ac9db7594e4521a89
MD5 3ab440e3c242d440d215e57e0edfd9ff
BLAKE2b-256 ee10e13d283b8ca4c054b086dad971092035d7909a6f95aa42682dfc6978aa44

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b7f513f98639bbf5c25321b27ec6d768ed8f4dfa7901381b2a150ef2c293ef28
MD5 a6b5b09cb0b0bc032f8914e884b6fc54
BLAKE2b-256 2964cbc0b699c41fcd81b32e2e4c440c681fb9acfa406bd6742b91f2bef21b03

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8b29d20c373bae737a5a0cdf476d87d2e55b673403f548d98f11e44b2b5ef851
MD5 207c9d325aac718be815e8a41ba5c244
BLAKE2b-256 c9d7b14c5c5867d7e5a599fb6614eab4b5a18ee9bb5a4d746bf80576984cd290

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 23cbac3df6640d91bd86580a88c87922d13624f16ad3ea9b8a7930a51ea454a3
MD5 134833e3ddcbaa7c5f7fda39df01d336
BLAKE2b-256 28e697844c01f7209728e37763814989c62158d00fc3471bec7750e8e866ef83

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 906b772a80c381c4ef3eaeb023e6398b05977e374eebd3defc9a3085a0dff45c
MD5 e8c32b012239905f94307636a33dd050
BLAKE2b-256 163d269f148475d0f186d29cc338f574a50b92091b939014a9b9bc4dbc4e26d9

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7a88f8dcba6aff5d8ced50d6796282fd198919aae7620a42344be40ca9957e3c
MD5 504e888688b34ee95cea3024b42b8be6
BLAKE2b-256 af77158c7138cc43f85b456803e12066960185e60943c22e6a92e96f4a7463fb

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f2c87fc48f3c706315bb42a8ca25cbf79d92cde623fb29fba285cf267bd34a7a
MD5 c80c0165a99423dfe29d2b2aa95a938d
BLAKE2b-256 e73cc13bcee40ad3a5aeb91b4ece23683bf6d32700b6f638e11d0b418a2228be

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3419268ae3db6e5a55c7b306130668c6ece1ddbee8586876614ff78d8c13b23
MD5 ec1b762b48fa7e458dcc65a4ad53fb4a
BLAKE2b-256 b47b3b52f5ab63215348e39fdbb8d87e952d0d550ae108177013e462d2134b4b

See more details on using hashes here.

File details

Details for the file scikit_network-0.26.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network-0.26.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 79cc9183a05f819bbd2fcca50a183530e440dafb551d6f26537d5b93b5e359ff
MD5 d7e6a7bc46b96c7c20145707d93b6681
BLAKE2b-256 d64231c7827775a4d334fa425110890601a28fd4444462641e3b042efc50e4e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page