scikit-network 0.33.0__tar.gz → 0.33.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-network might be problematic. Click here for more details.
- {scikit-network-0.33.0 → scikit_network-0.33.3}/HISTORY.rst +17 -0
- scikit_network-0.33.3/PKG-INFO +122 -0
- scikit_network-0.33.3/pyproject.toml +46 -0
- scikit_network-0.33.3/scikit_network.egg-info/PKG-INFO +122 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/scikit_network.egg-info/SOURCES.txt +13 -0
- scikit_network-0.33.3/scikit_network.egg-info/requires.txt +7 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/setup.cfg +1 -4
- {scikit-network-0.33.0 → scikit_network-0.33.3}/setup.py +3 -42
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/diffusion.py +1 -1
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/knn.py +1 -1
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/metrics.py +3 -3
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/pagerank.py +1 -1
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/propagation.py +1 -1
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/vote.cpp +724 -681
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/leiden_core.cpp +753 -706
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/louvain.py +3 -3
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/louvain_core.cpp +753 -706
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/metrics.py +1 -1
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/tests/test_louvain.py +6 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/base_activation.py +1 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/gnn_classifier.py +1 -1
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/metrics.py +3 -3
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/paris.cpp +1817 -1159
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/diteration.cpp +724 -681
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/push.cpp +1814 -1155
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/sparse_lowrank.py +1 -1
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/betweenness.cpp +603 -561
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/cliques.cpp +1765 -1110
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/core.cpp +1791 -1139
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/cycles.py +2 -2
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/minheap.cpp +727 -681
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/triangles.cpp +478 -437
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/weisfeiler_lehman_core.cpp +724 -681
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/visualization/graphs.py +1 -1
- scikit-network-0.33.0/PKG-INFO +0 -515
- scikit-network-0.33.0/scikit_network.egg-info/PKG-INFO +0 -515
- scikit-network-0.33.0/scikit_network.egg-info/requires.txt +0 -2
- {scikit-network-0.33.0 → scikit_network-0.33.3}/AUTHORS.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/CONTRIBUTING.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/LICENSE +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/MANIFEST.in +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/README.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/Makefile +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/authors.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/conf.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/contributing.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/first_steps.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/genindex.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/glossary.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/history.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/make.bat +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/readme.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/classification.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/clustering.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/data.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/embedding.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/gnn.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/hierarchy.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/linalg.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/linkpred.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/path.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/ranking.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/regression.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/topology.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/utils.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/reference/visualization.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/classification/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/clustering/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/data/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/embedding/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/gnn/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/hierarchy/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/linkpred/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/overview/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/path/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/ranking/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/regression/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/topology/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/docs/tutorials/visualization/index.rst +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/scikit_network.egg-info/dependency_links.txt +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/scikit_network.egg-info/not-zip-safe +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/scikit_network.egg-info/top_level.txt +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/base_rank.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/tests/test_API.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/tests/test_diffusion.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/tests/test_knn.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/tests/test_metrics.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/tests/test_pagerank.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/tests/test_propagation.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/classification/vote.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/kcenters.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/leiden.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/leiden_core.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/louvain_core.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/postprocess.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/propagation_clustering.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/tests/test_API.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/tests/test_kcenters.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/tests/test_leiden.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/tests/test_metrics.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/clustering/tests/test_postprocess.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/load.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/models.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/parse.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/test_graphs.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/tests/test_API.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/tests/test_base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/tests/test_load.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/tests/test_models.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/tests/test_parse.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/tests/test_test_graphs.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/tests/test_toy_graphs.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/timeout.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/data/toy_graphs.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/force_atlas.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/louvain_embedding.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/random_projection.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/spectral.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/spring.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/svd.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/tests/test_API.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/tests/test_force_atlas.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/tests/test_louvain_embedding.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/tests/test_random_projection.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/tests/test_spectral.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/tests/test_spring.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/embedding/tests/test_svd.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/activation.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/base_layer.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/layer.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/loss.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/neighbor_sampler.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/optimizer.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/tests/test_activation.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/tests/test_base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/tests/test_base_layer.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/tests/test_gnn_classifier.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/tests/test_layers.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/tests/test_loss.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/tests/test_neigh_sampler.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/tests/test_optimizer.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/tests/test_utils.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/gnn/utils.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/louvain_hierarchy.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/paris.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/postprocess.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/tests/test_API.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/tests/test_algos.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/tests/test_metrics.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/hierarchy/tests/test_postprocess.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/basics.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/diteration.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/eig_solver.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/laplacian.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/normalizer.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/operators.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/polynome.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/ppr_solver.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/push.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/svd_solver.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/tests/test_eig.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/tests/test_laplacian.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/tests/test_normalization.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/tests/test_operators.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/tests/test_polynome.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/tests/test_ppr.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/tests/test_sparse_lowrank.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linalg/tests/test_svd.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linkpred/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linkpred/base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linkpred/nn.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linkpred/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/linkpred/tests/test_nn.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/log.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/path/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/path/dag.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/path/distances.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/path/search.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/path/shortest_path.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/path/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/path/tests/test_dag.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/path/tests/test_distances.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/path/tests/test_search.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/path/tests/test_shortest_path.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/betweenness.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/closeness.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/hits.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/katz.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/pagerank.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/postprocess.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/tests/test_API.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/tests/test_betweenness.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/tests/test_closeness.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/tests/test_hits.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/tests/test_pagerank.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/ranking/tests/test_postprocess.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/regression/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/regression/base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/regression/diffusion.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/regression/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/regression/tests/test_API.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/regression/tests/test_diffusion.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/sknetwork.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/test_base.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/test_log.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/cliques.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/core.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/minheap.pxd +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/minheap.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/structure.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/tests/test_cliques.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/tests/test_core.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/tests/test_cycles.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/tests/test_structure.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/tests/test_triangles.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/tests/test_wl.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/triangles.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/weisfeiler_lehman.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/topology/weisfeiler_lehman_core.pyx +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/check.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/format.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/membership.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/neighbors.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/tests/test_check.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/tests/test_format.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/tests/test_membership.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/tests/test_neighbors.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/tests/test_tfidf.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/tests/test_values.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/tfidf.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/utils/values.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/visualization/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/visualization/colors.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/visualization/dendrograms.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/visualization/tests/__init__.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/visualization/tests/test_dendrograms.py +0 -0
- {scikit-network-0.33.0 → scikit_network-0.33.3}/sknetwork/visualization/tests/test_graphs.py +0 -0
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
History
|
|
3
3
|
=======
|
|
4
4
|
|
|
5
|
+
0.33.3 (2025-05-15)
|
|
6
|
+
-------------------
|
|
7
|
+
|
|
8
|
+
* Fix wheel generation for Python 3.13
|
|
9
|
+
|
|
10
|
+
0.33.2 (2025-05-12)
|
|
11
|
+
-------------------
|
|
12
|
+
|
|
13
|
+
* Add Python 3.13
|
|
14
|
+
* Add wheel for aarch64
|
|
15
|
+
* Fix bug on color display
|
|
16
|
+
|
|
17
|
+
0.33.1 (2024-09-18)
|
|
18
|
+
-------------------
|
|
19
|
+
|
|
20
|
+
* Upgrade Numpy
|
|
21
|
+
|
|
5
22
|
0.33.0 (2024-07-16)
|
|
6
23
|
-------------------
|
|
7
24
|
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: scikit-network
|
|
3
|
+
Version: 0.33.3
|
|
4
|
+
Summary: Graph algorithms
|
|
5
|
+
Author: Scikit-network team
|
|
6
|
+
Maintainer-email: Thomas Bonald <bonald@enst.fr>
|
|
7
|
+
License: BSD License
|
|
8
|
+
Project-URL: Repository, https://github.com/sknetwork-team/scikit-network
|
|
9
|
+
Project-URL: Documentation, https://scikit-network.readthedocs.io/
|
|
10
|
+
Project-URL: Changelog, https://github.com/sknetwork-team/scikit-network/blob/master/HISTORY.rst
|
|
11
|
+
Keywords: sknetwork
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Information Technology
|
|
15
|
+
Classifier: Intended Audience :: Education
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
17
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
18
|
+
Classifier: Natural Language :: English
|
|
19
|
+
Classifier: Programming Language :: Cython
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
25
|
+
Requires-Python: >=3.9
|
|
26
|
+
Description-Content-Type: text/x-rst
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
License-File: AUTHORS.rst
|
|
29
|
+
Requires-Dist: numpy>=1.22.4
|
|
30
|
+
Requires-Dist: scipy>=1.7.3
|
|
31
|
+
Provides-Extra: test
|
|
32
|
+
Requires-Dist: pytest; extra == "test"
|
|
33
|
+
Requires-Dist: note; extra == "test"
|
|
34
|
+
Requires-Dist: pluggy>=0.7.1; extra == "test"
|
|
35
|
+
Dynamic: license-file
|
|
36
|
+
|
|
37
|
+
.. image:: https://perso.telecom-paristech.fr/bonald/logo_sknetwork.png
|
|
38
|
+
:align: right
|
|
39
|
+
:width: 150px
|
|
40
|
+
:alt: logo sknetwork
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
.. image:: https://img.shields.io/pypi/v/scikit-network.svg
|
|
45
|
+
:target: https://pypi.python.org/pypi/scikit-network
|
|
46
|
+
|
|
47
|
+
.. image:: https://github.com/sknetwork-team/scikit-network/actions/workflows/ci_checks.yml/badge.svg
|
|
48
|
+
:target: https://github.com/sknetwork-team/scikit-network/actions/workflows/ci_checks.yml
|
|
49
|
+
|
|
50
|
+
.. image:: https://readthedocs.org/projects/scikit-network/badge/?version=latest
|
|
51
|
+
:target: https://scikit-network.readthedocs.io/en/latest/?badge=latest
|
|
52
|
+
:alt: Documentation Status
|
|
53
|
+
|
|
54
|
+
.. image:: https://codecov.io/gh/sknetwork-team/scikit-network/branch/master/graph/badge.svg
|
|
55
|
+
:target: https://codecov.io/gh/sknetwork-team/scikit-network
|
|
56
|
+
|
|
57
|
+
.. image:: https://img.shields.io/pypi/pyversions/scikit-network.svg
|
|
58
|
+
:target: https://pypi.python.org/pypi/scikit-network
|
|
59
|
+
|
|
60
|
+
Free software library in Python for machine learning on graphs:
|
|
61
|
+
|
|
62
|
+
* Memory-efficient representation of graphs as sparse matrices in scipy_ format
|
|
63
|
+
* Fast algorithms
|
|
64
|
+
* Simple API inspired by scikit-learn_
|
|
65
|
+
|
|
66
|
+
.. _scipy: https://www.scipy.org
|
|
67
|
+
.. _scikit-learn: https://scikit-learn.org/
|
|
68
|
+
|
|
69
|
+
Resources
|
|
70
|
+
---------
|
|
71
|
+
|
|
72
|
+
* Free software: BSD license
|
|
73
|
+
* GitHub: https://github.com/sknetwork-team/scikit-network
|
|
74
|
+
* Documentation: https://scikit-network.readthedocs.io
|
|
75
|
+
|
|
76
|
+
Quick start
|
|
77
|
+
-----------
|
|
78
|
+
|
|
79
|
+
Install scikit-network:
|
|
80
|
+
|
|
81
|
+
.. code-block:: console
|
|
82
|
+
|
|
83
|
+
$ pip install scikit-network
|
|
84
|
+
|
|
85
|
+
Import scikit-network::
|
|
86
|
+
|
|
87
|
+
import sknetwork
|
|
88
|
+
|
|
89
|
+
Overview
|
|
90
|
+
--------
|
|
91
|
+
|
|
92
|
+
An overview of the package is presented in this `notebook <https://scikit-network.readthedocs.io/en/latest/tutorials/overview/index.html>`_.
|
|
93
|
+
|
|
94
|
+
Documentation
|
|
95
|
+
-------------
|
|
96
|
+
|
|
97
|
+
The documentation is structured as follows:
|
|
98
|
+
|
|
99
|
+
* `Getting started <https://scikit-network.readthedocs.io/en/latest/first_steps.html>`_: First steps to install, import and use scikit-network.
|
|
100
|
+
* `User manual <https://scikit-network.readthedocs.io/en/latest/reference/data.html>`_: Description of each function and object of scikit-network.
|
|
101
|
+
* `Tutorials <https://scikit-network.readthedocs.io/en/latest/tutorials/data/index.html>`_: Application of the main tools to toy examples.
|
|
102
|
+
* `Examples <https://scikit-network.readthedocs.io/en/latest/use_cases/text.html>`_: Examples combining several tools on specific use cases.
|
|
103
|
+
* `About <https://scikit-network.readthedocs.io/en/latest/authors.html>`_: Authors, history of the library, how to contribute, index of functions and objects.
|
|
104
|
+
|
|
105
|
+
Citing
|
|
106
|
+
------
|
|
107
|
+
|
|
108
|
+
If you want to cite scikit-network, please refer to the publication in
|
|
109
|
+
the `Journal of Machine Learning Research <https://jmlr.org>`_:
|
|
110
|
+
|
|
111
|
+
.. code::
|
|
112
|
+
|
|
113
|
+
@article{JMLR:v21:20-412,
|
|
114
|
+
author = {Thomas Bonald and Nathan de Lara and Quentin Lutz and Bertrand Charpentier},
|
|
115
|
+
title = {Scikit-network: Graph Analysis in Python},
|
|
116
|
+
journal = {Journal of Machine Learning Research},
|
|
117
|
+
year = {2020},
|
|
118
|
+
volume = {21},
|
|
119
|
+
number = {185},
|
|
120
|
+
pages = {1-6},
|
|
121
|
+
url = {http://jmlr.org/papers/v21/20-412.html}
|
|
122
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = [
|
|
3
|
+
"numpy",
|
|
4
|
+
"setuptools",
|
|
5
|
+
"scipy",
|
|
6
|
+
"pytest-runner",
|
|
7
|
+
"cython <= 3.0.12",
|
|
8
|
+
]
|
|
9
|
+
build-backend = "setuptools.build_meta"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
[project]
|
|
13
|
+
name = "scikit-network"
|
|
14
|
+
version = "0.33.3"
|
|
15
|
+
dependencies = ['numpy>=1.22.4', 'scipy>=1.7.3']
|
|
16
|
+
authors = [{name = "Scikit-network team"}]
|
|
17
|
+
maintainers = [{name = "Thomas Bonald", email = "bonald@enst.fr"}]
|
|
18
|
+
description = "Graph algorithms"
|
|
19
|
+
readme = "README.rst"
|
|
20
|
+
license = {text = "BSD License"}
|
|
21
|
+
keywords = ["sknetwork"]
|
|
22
|
+
classifiers=[
|
|
23
|
+
'Development Status :: 3 - Alpha',
|
|
24
|
+
'Intended Audience :: Developers',
|
|
25
|
+
'Intended Audience :: Information Technology',
|
|
26
|
+
'Intended Audience :: Education',
|
|
27
|
+
'Intended Audience :: Science/Research',
|
|
28
|
+
'License :: OSI Approved :: BSD License',
|
|
29
|
+
'Natural Language :: English',
|
|
30
|
+
'Programming Language :: Cython',
|
|
31
|
+
'Programming Language :: Python :: 3.9',
|
|
32
|
+
'Programming Language :: Python :: 3.10',
|
|
33
|
+
'Programming Language :: Python :: 3.11',
|
|
34
|
+
'Programming Language :: Python :: 3.12',
|
|
35
|
+
'Programming Language :: Python :: 3.13'
|
|
36
|
+
]
|
|
37
|
+
requires-python = ">= 3.9"
|
|
38
|
+
|
|
39
|
+
[project.optional-dependencies]
|
|
40
|
+
test = ["pytest", "note", "pluggy>=0.7.1"]
|
|
41
|
+
|
|
42
|
+
[project.urls]
|
|
43
|
+
Repository = "https://github.com/sknetwork-team/scikit-network"
|
|
44
|
+
Documentation = "https://scikit-network.readthedocs.io/"
|
|
45
|
+
Changelog = "https://github.com/sknetwork-team/scikit-network/blob/master/HISTORY.rst"
|
|
46
|
+
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: scikit-network
|
|
3
|
+
Version: 0.33.3
|
|
4
|
+
Summary: Graph algorithms
|
|
5
|
+
Author: Scikit-network team
|
|
6
|
+
Maintainer-email: Thomas Bonald <bonald@enst.fr>
|
|
7
|
+
License: BSD License
|
|
8
|
+
Project-URL: Repository, https://github.com/sknetwork-team/scikit-network
|
|
9
|
+
Project-URL: Documentation, https://scikit-network.readthedocs.io/
|
|
10
|
+
Project-URL: Changelog, https://github.com/sknetwork-team/scikit-network/blob/master/HISTORY.rst
|
|
11
|
+
Keywords: sknetwork
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Information Technology
|
|
15
|
+
Classifier: Intended Audience :: Education
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
17
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
18
|
+
Classifier: Natural Language :: English
|
|
19
|
+
Classifier: Programming Language :: Cython
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
25
|
+
Requires-Python: >=3.9
|
|
26
|
+
Description-Content-Type: text/x-rst
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
License-File: AUTHORS.rst
|
|
29
|
+
Requires-Dist: numpy>=1.22.4
|
|
30
|
+
Requires-Dist: scipy>=1.7.3
|
|
31
|
+
Provides-Extra: test
|
|
32
|
+
Requires-Dist: pytest; extra == "test"
|
|
33
|
+
Requires-Dist: note; extra == "test"
|
|
34
|
+
Requires-Dist: pluggy>=0.7.1; extra == "test"
|
|
35
|
+
Dynamic: license-file
|
|
36
|
+
|
|
37
|
+
.. image:: https://perso.telecom-paristech.fr/bonald/logo_sknetwork.png
|
|
38
|
+
:align: right
|
|
39
|
+
:width: 150px
|
|
40
|
+
:alt: logo sknetwork
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
.. image:: https://img.shields.io/pypi/v/scikit-network.svg
|
|
45
|
+
:target: https://pypi.python.org/pypi/scikit-network
|
|
46
|
+
|
|
47
|
+
.. image:: https://github.com/sknetwork-team/scikit-network/actions/workflows/ci_checks.yml/badge.svg
|
|
48
|
+
:target: https://github.com/sknetwork-team/scikit-network/actions/workflows/ci_checks.yml
|
|
49
|
+
|
|
50
|
+
.. image:: https://readthedocs.org/projects/scikit-network/badge/?version=latest
|
|
51
|
+
:target: https://scikit-network.readthedocs.io/en/latest/?badge=latest
|
|
52
|
+
:alt: Documentation Status
|
|
53
|
+
|
|
54
|
+
.. image:: https://codecov.io/gh/sknetwork-team/scikit-network/branch/master/graph/badge.svg
|
|
55
|
+
:target: https://codecov.io/gh/sknetwork-team/scikit-network
|
|
56
|
+
|
|
57
|
+
.. image:: https://img.shields.io/pypi/pyversions/scikit-network.svg
|
|
58
|
+
:target: https://pypi.python.org/pypi/scikit-network
|
|
59
|
+
|
|
60
|
+
Free software library in Python for machine learning on graphs:
|
|
61
|
+
|
|
62
|
+
* Memory-efficient representation of graphs as sparse matrices in scipy_ format
|
|
63
|
+
* Fast algorithms
|
|
64
|
+
* Simple API inspired by scikit-learn_
|
|
65
|
+
|
|
66
|
+
.. _scipy: https://www.scipy.org
|
|
67
|
+
.. _scikit-learn: https://scikit-learn.org/
|
|
68
|
+
|
|
69
|
+
Resources
|
|
70
|
+
---------
|
|
71
|
+
|
|
72
|
+
* Free software: BSD license
|
|
73
|
+
* GitHub: https://github.com/sknetwork-team/scikit-network
|
|
74
|
+
* Documentation: https://scikit-network.readthedocs.io
|
|
75
|
+
|
|
76
|
+
Quick start
|
|
77
|
+
-----------
|
|
78
|
+
|
|
79
|
+
Install scikit-network:
|
|
80
|
+
|
|
81
|
+
.. code-block:: console
|
|
82
|
+
|
|
83
|
+
$ pip install scikit-network
|
|
84
|
+
|
|
85
|
+
Import scikit-network::
|
|
86
|
+
|
|
87
|
+
import sknetwork
|
|
88
|
+
|
|
89
|
+
Overview
|
|
90
|
+
--------
|
|
91
|
+
|
|
92
|
+
An overview of the package is presented in this `notebook <https://scikit-network.readthedocs.io/en/latest/tutorials/overview/index.html>`_.
|
|
93
|
+
|
|
94
|
+
Documentation
|
|
95
|
+
-------------
|
|
96
|
+
|
|
97
|
+
The documentation is structured as follows:
|
|
98
|
+
|
|
99
|
+
* `Getting started <https://scikit-network.readthedocs.io/en/latest/first_steps.html>`_: First steps to install, import and use scikit-network.
|
|
100
|
+
* `User manual <https://scikit-network.readthedocs.io/en/latest/reference/data.html>`_: Description of each function and object of scikit-network.
|
|
101
|
+
* `Tutorials <https://scikit-network.readthedocs.io/en/latest/tutorials/data/index.html>`_: Application of the main tools to toy examples.
|
|
102
|
+
* `Examples <https://scikit-network.readthedocs.io/en/latest/use_cases/text.html>`_: Examples combining several tools on specific use cases.
|
|
103
|
+
* `About <https://scikit-network.readthedocs.io/en/latest/authors.html>`_: Authors, history of the library, how to contribute, index of functions and objects.
|
|
104
|
+
|
|
105
|
+
Citing
|
|
106
|
+
------
|
|
107
|
+
|
|
108
|
+
If you want to cite scikit-network, please refer to the publication in
|
|
109
|
+
the `Journal of Machine Learning Research <https://jmlr.org>`_:
|
|
110
|
+
|
|
111
|
+
.. code::
|
|
112
|
+
|
|
113
|
+
@article{JMLR:v21:20-412,
|
|
114
|
+
author = {Thomas Bonald and Nathan de Lara and Quentin Lutz and Bertrand Charpentier},
|
|
115
|
+
title = {Scikit-network: Graph Analysis in Python},
|
|
116
|
+
journal = {Journal of Machine Learning Research},
|
|
117
|
+
year = {2020},
|
|
118
|
+
volume = {21},
|
|
119
|
+
number = {185},
|
|
120
|
+
pages = {1-6},
|
|
121
|
+
url = {http://jmlr.org/papers/v21/20-412.html}
|
|
122
|
+
}
|
|
@@ -4,6 +4,7 @@ HISTORY.rst
|
|
|
4
4
|
LICENSE
|
|
5
5
|
MANIFEST.in
|
|
6
6
|
README.rst
|
|
7
|
+
pyproject.toml
|
|
7
8
|
setup.cfg
|
|
8
9
|
setup.py
|
|
9
10
|
./sknetwork/classification/vote.cpp
|
|
@@ -76,6 +77,7 @@ sknetwork/classification/knn.py
|
|
|
76
77
|
sknetwork/classification/metrics.py
|
|
77
78
|
sknetwork/classification/pagerank.py
|
|
78
79
|
sknetwork/classification/propagation.py
|
|
80
|
+
sknetwork/classification/vote.cpp
|
|
79
81
|
sknetwork/classification/vote.pyx
|
|
80
82
|
sknetwork/classification/tests/__init__.py
|
|
81
83
|
sknetwork/classification/tests/test_API.py
|
|
@@ -88,8 +90,10 @@ sknetwork/clustering/__init__.py
|
|
|
88
90
|
sknetwork/clustering/base.py
|
|
89
91
|
sknetwork/clustering/kcenters.py
|
|
90
92
|
sknetwork/clustering/leiden.py
|
|
93
|
+
sknetwork/clustering/leiden_core.cpp
|
|
91
94
|
sknetwork/clustering/leiden_core.pyx
|
|
92
95
|
sknetwork/clustering/louvain.py
|
|
96
|
+
sknetwork/clustering/louvain_core.cpp
|
|
93
97
|
sknetwork/clustering/louvain_core.pyx
|
|
94
98
|
sknetwork/clustering/metrics.py
|
|
95
99
|
sknetwork/clustering/postprocess.py
|
|
@@ -158,6 +162,7 @@ sknetwork/hierarchy/__init__.py
|
|
|
158
162
|
sknetwork/hierarchy/base.py
|
|
159
163
|
sknetwork/hierarchy/louvain_hierarchy.py
|
|
160
164
|
sknetwork/hierarchy/metrics.py
|
|
165
|
+
sknetwork/hierarchy/paris.cpp
|
|
161
166
|
sknetwork/hierarchy/paris.pyx
|
|
162
167
|
sknetwork/hierarchy/postprocess.py
|
|
163
168
|
sknetwork/hierarchy/tests/__init__.py
|
|
@@ -167,6 +172,7 @@ sknetwork/hierarchy/tests/test_metrics.py
|
|
|
167
172
|
sknetwork/hierarchy/tests/test_postprocess.py
|
|
168
173
|
sknetwork/linalg/__init__.py
|
|
169
174
|
sknetwork/linalg/basics.py
|
|
175
|
+
sknetwork/linalg/diteration.cpp
|
|
170
176
|
sknetwork/linalg/diteration.pyx
|
|
171
177
|
sknetwork/linalg/eig_solver.py
|
|
172
178
|
sknetwork/linalg/laplacian.py
|
|
@@ -174,6 +180,7 @@ sknetwork/linalg/normalizer.py
|
|
|
174
180
|
sknetwork/linalg/operators.py
|
|
175
181
|
sknetwork/linalg/polynome.py
|
|
176
182
|
sknetwork/linalg/ppr_solver.py
|
|
183
|
+
sknetwork/linalg/push.cpp
|
|
177
184
|
sknetwork/linalg/push.pyx
|
|
178
185
|
sknetwork/linalg/sparse_lowrank.py
|
|
179
186
|
sknetwork/linalg/svd_solver.py
|
|
@@ -203,6 +210,7 @@ sknetwork/path/tests/test_search.py
|
|
|
203
210
|
sknetwork/path/tests/test_shortest_path.py
|
|
204
211
|
sknetwork/ranking/__init__.py
|
|
205
212
|
sknetwork/ranking/base.py
|
|
213
|
+
sknetwork/ranking/betweenness.cpp
|
|
206
214
|
sknetwork/ranking/betweenness.pyx
|
|
207
215
|
sknetwork/ranking/closeness.py
|
|
208
216
|
sknetwork/ranking/hits.py
|
|
@@ -223,14 +231,19 @@ sknetwork/regression/tests/__init__.py
|
|
|
223
231
|
sknetwork/regression/tests/test_API.py
|
|
224
232
|
sknetwork/regression/tests/test_diffusion.py
|
|
225
233
|
sknetwork/topology/__init__.py
|
|
234
|
+
sknetwork/topology/cliques.cpp
|
|
226
235
|
sknetwork/topology/cliques.pyx
|
|
236
|
+
sknetwork/topology/core.cpp
|
|
227
237
|
sknetwork/topology/core.pyx
|
|
228
238
|
sknetwork/topology/cycles.py
|
|
239
|
+
sknetwork/topology/minheap.cpp
|
|
229
240
|
sknetwork/topology/minheap.pxd
|
|
230
241
|
sknetwork/topology/minheap.pyx
|
|
231
242
|
sknetwork/topology/structure.py
|
|
243
|
+
sknetwork/topology/triangles.cpp
|
|
232
244
|
sknetwork/topology/triangles.pyx
|
|
233
245
|
sknetwork/topology/weisfeiler_lehman.py
|
|
246
|
+
sknetwork/topology/weisfeiler_lehman_core.cpp
|
|
234
247
|
sknetwork/topology/weisfeiler_lehman_core.pyx
|
|
235
248
|
sknetwork/topology/tests/__init__.py
|
|
236
249
|
sknetwork/topology/tests/test_cliques.py
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[bumpversion]
|
|
2
|
-
current_version = 0.33.
|
|
2
|
+
current_version = 0.33.2
|
|
3
3
|
commit = True
|
|
4
4
|
tag = True
|
|
5
5
|
|
|
@@ -20,9 +20,6 @@ test = pytest
|
|
|
20
20
|
[tool:pytest]
|
|
21
21
|
collect_ignore = ['setup.py']
|
|
22
22
|
|
|
23
|
-
[options]
|
|
24
|
-
python_requires = >=3.9
|
|
25
|
-
|
|
26
23
|
[egg_info]
|
|
27
24
|
tag_build =
|
|
28
25
|
tag_date = 0
|
|
@@ -2,25 +2,15 @@
|
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
"""Setup script."""
|
|
4
4
|
|
|
5
|
+
import numpy
|
|
5
6
|
|
|
6
7
|
from setuptools import find_packages, setup, Extension
|
|
7
8
|
from sysconfig import get_platform
|
|
8
9
|
from distutils.command.build_ext import build_ext
|
|
9
10
|
import os
|
|
11
|
+
import builtins
|
|
10
12
|
from glob import glob
|
|
11
13
|
|
|
12
|
-
import numpy
|
|
13
|
-
|
|
14
|
-
with open('README.rst') as readme_file:
|
|
15
|
-
readme = readme_file.read()
|
|
16
|
-
|
|
17
|
-
with open('HISTORY.rst') as history_file:
|
|
18
|
-
history = history_file.read()
|
|
19
|
-
|
|
20
|
-
requirements = ['numpy>=1.22.4', 'scipy>=1.7.3']
|
|
21
|
-
|
|
22
|
-
setup_requirements = ['pytest-runner']
|
|
23
|
-
|
|
24
14
|
test_requirements = ['pytest', 'nose', 'pluggy>=0.7.1']
|
|
25
15
|
|
|
26
16
|
# if any problems occur with macOS' clang not knowing the -fopenmp flag, see:
|
|
@@ -55,7 +45,6 @@ if platform.startswith("win"):
|
|
|
55
45
|
EXTRA_COMPILE_ARGS = ['/d2FH4-']
|
|
56
46
|
EXTRA_LINK_ARGS = []
|
|
57
47
|
|
|
58
|
-
|
|
59
48
|
class BuildExtSubclass(build_ext):
|
|
60
49
|
def build_options(self):
|
|
61
50
|
for e in self.extensions:
|
|
@@ -74,8 +63,7 @@ class BuildExtSubclass(build_ext):
|
|
|
74
63
|
def finalize_options(self):
|
|
75
64
|
build_ext.finalize_options(self)
|
|
76
65
|
# Prevent numpy from thinking it is still in its setup process:
|
|
77
|
-
|
|
78
|
-
import numpy
|
|
66
|
+
builtins.__NUMPY_SETUP__ = False
|
|
79
67
|
self.include_dirs.append(numpy.get_include())
|
|
80
68
|
|
|
81
69
|
|
|
@@ -124,36 +112,9 @@ else:
|
|
|
124
112
|
|
|
125
113
|
|
|
126
114
|
setup(
|
|
127
|
-
author="Scikit-network team",
|
|
128
|
-
author_email='bonald@enst.fr',
|
|
129
|
-
classifiers=[
|
|
130
|
-
'Development Status :: 3 - Alpha',
|
|
131
|
-
'Intended Audience :: Developers',
|
|
132
|
-
'Intended Audience :: Information Technology',
|
|
133
|
-
'Intended Audience :: Education',
|
|
134
|
-
'Intended Audience :: Science/Research',
|
|
135
|
-
'License :: OSI Approved :: BSD License',
|
|
136
|
-
'Natural Language :: English',
|
|
137
|
-
'Programming Language :: Cython',
|
|
138
|
-
'Programming Language :: Python :: 3.9',
|
|
139
|
-
'Programming Language :: Python :: 3.10',
|
|
140
|
-
'Programming Language :: Python :: 3.11',
|
|
141
|
-
'Programming Language :: Python :: 3.12'
|
|
142
|
-
],
|
|
143
|
-
description="Graph algorithms",
|
|
144
|
-
install_requires=requirements,
|
|
145
|
-
license="BSD license",
|
|
146
|
-
long_description=readme + '\n\n' + history,
|
|
147
|
-
long_description_content_type='text/x-rst',
|
|
148
|
-
include_package_data=True,
|
|
149
|
-
keywords='sknetwork',
|
|
150
|
-
name='scikit-network',
|
|
151
115
|
packages=find_packages(),
|
|
152
|
-
setup_requires=setup_requirements,
|
|
153
116
|
test_suite='tests',
|
|
154
117
|
tests_require=test_requirements,
|
|
155
|
-
url='https://github.com/sknetwork-team/scikit-network',
|
|
156
|
-
version='0.33.0',
|
|
157
118
|
zip_safe=False,
|
|
158
119
|
ext_modules=ext_modules,
|
|
159
120
|
include_dirs=[numpy.get_include()],
|
|
@@ -55,7 +55,7 @@ class DiffusionClassifier(BaseClassifier):
|
|
|
55
55
|
>>> labels_true = graph.labels
|
|
56
56
|
>>> labels = {0: labels_true[0], 33: labels_true[33]}
|
|
57
57
|
>>> labels_pred = diffusion.fit_predict(adjacency, labels)
|
|
58
|
-
>>> round(np.mean(labels_pred == labels_true), 2)
|
|
58
|
+
>>> float(round(np.mean(labels_pred == labels_true), 2))
|
|
59
59
|
0.97
|
|
60
60
|
|
|
61
61
|
References
|
|
@@ -55,7 +55,7 @@ class NNClassifier(BaseClassifier):
|
|
|
55
55
|
>>> labels_true = graph.labels
|
|
56
56
|
>>> labels = {0: labels_true[0], 33: labels_true[33]}
|
|
57
57
|
>>> labels_pred = classifier.fit_predict(adjacency, labels)
|
|
58
|
-
>>> round(np.mean(labels_pred == labels_true), 2)
|
|
58
|
+
>>> float(round(np.mean(labels_pred == labels_true), 2))
|
|
59
59
|
0.82
|
|
60
60
|
"""
|
|
61
61
|
def __init__(self, n_neighbors: int = 3, embedding_method: Optional[BaseEmbedding] = None, normalize: bool = True):
|
|
@@ -34,7 +34,7 @@ def get_accuracy_score(labels_true: np.ndarray, labels_pred: np.ndarray) -> floa
|
|
|
34
34
|
>>> import numpy as np
|
|
35
35
|
>>> labels_true = np.array([0, 0, 1, 1])
|
|
36
36
|
>>> labels_pred = np.array([0, 0, 0, 1])
|
|
37
|
-
>>> round(get_accuracy_score(labels_true, labels_pred), 2)
|
|
37
|
+
>>> float(round(get_accuracy_score(labels_true, labels_pred), 2))
|
|
38
38
|
0.75
|
|
39
39
|
"""
|
|
40
40
|
check_vector_format(labels_true, labels_pred)
|
|
@@ -105,7 +105,7 @@ def get_f1_score(labels_true: np.ndarray, labels_pred: np.ndarray, return_precis
|
|
|
105
105
|
>>> import numpy as np
|
|
106
106
|
>>> labels_true = np.array([0, 0, 1, 1])
|
|
107
107
|
>>> labels_pred = np.array([0, 0, 0, 1])
|
|
108
|
-
>>> round(get_f1_score(labels_true, labels_pred), 2)
|
|
108
|
+
>>> float(round(get_f1_score(labels_true, labels_pred), 2))
|
|
109
109
|
0.67
|
|
110
110
|
"""
|
|
111
111
|
values = set(labels_true[labels_true >= 0]) | set(labels_pred[labels_pred >= 0])
|
|
@@ -188,7 +188,7 @@ def get_average_f1_score(labels_true: np.ndarray, labels_pred: np.ndarray, avera
|
|
|
188
188
|
>>> import numpy as np
|
|
189
189
|
>>> labels_true = np.array([0, 0, 1, 1])
|
|
190
190
|
>>> labels_pred = np.array([0, 0, 0, 1])
|
|
191
|
-
>>> round(get_average_f1_score(labels_true, labels_pred), 2)
|
|
191
|
+
>>> float(round(get_average_f1_score(labels_true, labels_pred), 2))
|
|
192
192
|
0.73
|
|
193
193
|
"""
|
|
194
194
|
if average == 'micro':
|
|
@@ -51,7 +51,7 @@ class PageRankClassifier(RankClassifier):
|
|
|
51
51
|
>>> labels_true = graph.labels
|
|
52
52
|
>>> labels = {0: labels_true[0], 33: labels_true[33]}
|
|
53
53
|
>>> labels_pred = pagerank.fit_predict(adjacency, labels)
|
|
54
|
-
>>> np.round(np.mean(labels_pred == labels_true), 2)
|
|
54
|
+
>>> float(np.round(np.mean(labels_pred == labels_true), 2))
|
|
55
55
|
0.97
|
|
56
56
|
|
|
57
57
|
References
|
|
@@ -58,7 +58,7 @@ class Propagation(BaseClassifier):
|
|
|
58
58
|
>>> labels_true = graph.labels
|
|
59
59
|
>>> labels = {0: labels_true[0], 33: labels_true[33]}
|
|
60
60
|
>>> labels_pred = propagation.fit_predict(adjacency, labels)
|
|
61
|
-
>>> np.round(np.mean(labels_pred == labels_true), 2)
|
|
61
|
+
>>> float(np.round(np.mean(labels_pred == labels_true), 2))
|
|
62
62
|
0.94
|
|
63
63
|
|
|
64
64
|
References
|