Skip to main content

Graph algorithms

Project description

logo sknetwork https://img.shields.io/pypi/v/scikit-network.svg https://travis-ci.org/sknetwork-team/scikit-network.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

Quickstart

Install scikit-network:

$ pip install scikit-network

Import scikit-network in a Python project:

import sknetwork as skn

See examples in the tutorials; the notebooks are available here.

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.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-dbda093-0.20.0b0.tar.gz (1.6 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_dbda093-0.20.0b0-cp38-cp38-manylinux2010_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

scikit_network_dbda093-0.20.0b0-cp37-cp37m-manylinux2010_x86_64.whl (7.6 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

scikit_network_dbda093-0.20.0b0-cp36-cp36m-manylinux2010_x86_64.whl (7.6 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

File details

Details for the file scikit-network-dbda093-0.20.0b0.tar.gz.

File metadata

  • Download URL: scikit-network-dbda093-0.20.0b0.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.23.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.8.6

File hashes

Hashes for scikit-network-dbda093-0.20.0b0.tar.gz
Algorithm Hash digest
SHA256 1b5e807c56cfde09bdf6b5f8f0c374b1d27187aebb613851d3bd38a17767a8cb
MD5 0e62f7b4e4156f0f6964bb83b0521765
BLAKE2b-256 1c671b56a3944bcb1649dea8e63c012059e8e23bbd144251f13acbc16c21cba6

See more details on using hashes here.

File details

Details for the file scikit_network_dbda093-0.20.0b0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: scikit_network_dbda093-0.20.0b0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 8.2 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for scikit_network_dbda093-0.20.0b0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c25644efbaf6d65fc2453336763250f4cec8f6ab06a8af349f1253b8b1cc9b54
MD5 96d7302523b2711857a55a7f754e1c78
BLAKE2b-256 5df579a453bbdc641472ae0cd2501b94a58c8fb2491c285f8fb47bd7e4894bc6

See more details on using hashes here.

File details

Details for the file scikit_network_dbda093-0.20.0b0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network_dbda093-0.20.0b0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 fd36dd2982efa4809a36467dfa06c0d5628eb398644d3c5162c953e6d96a02e9
MD5 d477cda6caa28d36cb758c23058185ab
BLAKE2b-256 8bf06d467a7dc433c12ad7ae0f04e978463e570dd2384e4484e600f26836ef6d

See more details on using hashes here.

File details

Details for the file scikit_network_dbda093-0.20.0b0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for scikit_network_dbda093-0.20.0b0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a41cbe708e6ee26f9a685414d0795669b740617ad576e12a6cc335d557107a3b
MD5 1d5d7733a72c99f263e822dcf4a1fd24
BLAKE2b-256 9ccadc96f2263ef6618ca81124972dc6f054dcd1534ffcff4dde1cd18c2dedfe

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