scikit-network 0.32.0__tar.gz → 0.33.1__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.

Files changed (268) hide show
  1. {scikit-network-0.32.0 → scikit-network-0.33.1}/AUTHORS.rst +0 -1
  2. {scikit-network-0.32.0 → scikit-network-0.33.1}/HISTORY.rst +18 -1
  3. scikit-network-0.33.1/PKG-INFO +115 -0
  4. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/visualization.rst +1 -1
  5. scikit-network-0.33.1/pyproject.toml +45 -0
  6. scikit-network-0.33.1/scikit_network.egg-info/PKG-INFO +115 -0
  7. {scikit-network-0.32.0 → scikit-network-0.33.1}/scikit_network.egg-info/SOURCES.txt +1 -0
  8. scikit-network-0.33.1/scikit_network.egg-info/requires.txt +7 -0
  9. {scikit-network-0.32.0 → scikit-network-0.33.1}/setup.cfg +1 -4
  10. {scikit-network-0.32.0 → scikit-network-0.33.1}/setup.py +3 -42
  11. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/__init__.py +1 -1
  12. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/diffusion.py +4 -3
  13. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/knn.py +4 -3
  14. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/metrics.py +3 -3
  15. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/pagerank.py +1 -1
  16. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/propagation.py +7 -6
  17. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/leiden.py +2 -1
  18. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/louvain.py +6 -6
  19. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/metrics.py +1 -1
  20. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/tests/test_kcenters.py +5 -37
  21. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/tests/test_louvain.py +6 -0
  22. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/__init__.py +1 -1
  23. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/base.py +7 -2
  24. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/load.py +18 -21
  25. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/models.py +15 -15
  26. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/parse.py +19 -17
  27. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/tests/test_API.py +3 -3
  28. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/tests/test_base.py +2 -2
  29. scikit-network-0.33.1/sknetwork/data/tests/test_toy_graphs.py +68 -0
  30. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/toy_graphs.py +35 -43
  31. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/base.py +3 -0
  32. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/louvain_embedding.py +0 -26
  33. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/svd.py +0 -4
  34. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/tests/test_louvain_embedding.py +9 -4
  35. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/tests/test_svd.py +6 -0
  36. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/gnn_classifier.py +1 -1
  37. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/louvain_hierarchy.py +10 -6
  38. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/metrics.py +3 -3
  39. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/paris.cpp +703 -701
  40. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/paris.pyx +4 -3
  41. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/tests/test_metrics.py +4 -4
  42. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/push.cpp +69 -69
  43. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/sparse_lowrank.py +1 -1
  44. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/regression/diffusion.py +6 -4
  45. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/cliques.cpp +69 -69
  46. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/core.cpp +69 -69
  47. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/cycles.py +1 -1
  48. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/__init__.py +1 -1
  49. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/values.py +5 -3
  50. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/visualization/graphs.py +1 -1
  51. scikit-network-0.32.0/PKG-INFO +0 -503
  52. scikit-network-0.32.0/scikit_network.egg-info/PKG-INFO +0 -503
  53. scikit-network-0.32.0/scikit_network.egg-info/requires.txt +0 -2
  54. scikit-network-0.32.0/sknetwork/data/tests/test_toy_graphs.py +0 -68
  55. {scikit-network-0.32.0 → scikit-network-0.33.1}/CONTRIBUTING.rst +0 -0
  56. {scikit-network-0.32.0 → scikit-network-0.33.1}/LICENSE +0 -0
  57. {scikit-network-0.32.0 → scikit-network-0.33.1}/MANIFEST.in +0 -0
  58. {scikit-network-0.32.0 → scikit-network-0.33.1}/README.rst +0 -0
  59. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/Makefile +0 -0
  60. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/authors.rst +0 -0
  61. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/conf.py +0 -0
  62. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/contributing.rst +0 -0
  63. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/first_steps.rst +0 -0
  64. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/genindex.rst +0 -0
  65. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/glossary.rst +0 -0
  66. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/history.rst +0 -0
  67. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/index.rst +0 -0
  68. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/make.bat +0 -0
  69. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/readme.rst +0 -0
  70. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/classification.rst +0 -0
  71. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/clustering.rst +0 -0
  72. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/data.rst +0 -0
  73. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/embedding.rst +0 -0
  74. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/gnn.rst +0 -0
  75. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/hierarchy.rst +0 -0
  76. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/linalg.rst +0 -0
  77. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/linkpred.rst +0 -0
  78. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/path.rst +0 -0
  79. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/ranking.rst +0 -0
  80. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/regression.rst +0 -0
  81. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/topology.rst +0 -0
  82. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/reference/utils.rst +0 -0
  83. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/classification/index.rst +0 -0
  84. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/clustering/index.rst +0 -0
  85. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/data/index.rst +0 -0
  86. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/embedding/index.rst +0 -0
  87. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/gnn/index.rst +0 -0
  88. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/hierarchy/index.rst +0 -0
  89. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/linkpred/index.rst +0 -0
  90. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/overview/index.rst +0 -0
  91. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/path/index.rst +0 -0
  92. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/ranking/index.rst +0 -0
  93. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/regression/index.rst +0 -0
  94. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/topology/index.rst +0 -0
  95. {scikit-network-0.32.0 → scikit-network-0.33.1}/docs/tutorials/visualization/index.rst +0 -0
  96. {scikit-network-0.32.0 → scikit-network-0.33.1}/scikit_network.egg-info/dependency_links.txt +0 -0
  97. {scikit-network-0.32.0 → scikit-network-0.33.1}/scikit_network.egg-info/not-zip-safe +0 -0
  98. {scikit-network-0.32.0 → scikit-network-0.33.1}/scikit_network.egg-info/top_level.txt +0 -0
  99. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/base.py +0 -0
  100. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/__init__.py +0 -0
  101. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/base.py +0 -0
  102. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/base_rank.py +0 -0
  103. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/tests/__init__.py +0 -0
  104. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/tests/test_API.py +0 -0
  105. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/tests/test_diffusion.py +0 -0
  106. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/tests/test_knn.py +0 -0
  107. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/tests/test_metrics.py +0 -0
  108. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/tests/test_pagerank.py +0 -0
  109. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/tests/test_propagation.py +0 -0
  110. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/vote.cpp +0 -0
  111. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/classification/vote.pyx +0 -0
  112. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/__init__.py +0 -0
  113. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/base.py +0 -0
  114. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/kcenters.py +0 -0
  115. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/leiden_core.cpp +0 -0
  116. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/leiden_core.pyx +0 -0
  117. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/louvain_core.cpp +0 -0
  118. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/louvain_core.pyx +0 -0
  119. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/postprocess.py +0 -0
  120. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/propagation_clustering.py +0 -0
  121. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/tests/__init__.py +0 -0
  122. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/tests/test_API.py +0 -0
  123. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/tests/test_leiden.py +0 -0
  124. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/tests/test_metrics.py +0 -0
  125. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/clustering/tests/test_postprocess.py +0 -0
  126. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/test_graphs.py +0 -0
  127. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/tests/__init__.py +0 -0
  128. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/tests/test_load.py +0 -0
  129. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/tests/test_models.py +0 -0
  130. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/tests/test_parse.py +0 -0
  131. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/tests/test_test_graphs.py +0 -0
  132. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/data/timeout.py +0 -0
  133. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/__init__.py +0 -0
  134. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/force_atlas.py +0 -0
  135. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/random_projection.py +0 -0
  136. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/spectral.py +0 -0
  137. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/spring.py +0 -0
  138. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/tests/__init__.py +0 -0
  139. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/tests/test_API.py +0 -0
  140. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/tests/test_force_atlas.py +0 -0
  141. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/tests/test_random_projection.py +0 -0
  142. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/tests/test_spectral.py +0 -0
  143. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/embedding/tests/test_spring.py +0 -0
  144. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/__init__.py +0 -0
  145. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/activation.py +0 -0
  146. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/base.py +0 -0
  147. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/base_activation.py +0 -0
  148. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/base_layer.py +0 -0
  149. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/layer.py +0 -0
  150. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/loss.py +0 -0
  151. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/neighbor_sampler.py +0 -0
  152. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/optimizer.py +0 -0
  153. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/tests/__init__.py +0 -0
  154. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/tests/test_activation.py +0 -0
  155. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/tests/test_base.py +0 -0
  156. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/tests/test_base_layer.py +0 -0
  157. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/tests/test_gnn_classifier.py +0 -0
  158. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/tests/test_layers.py +0 -0
  159. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/tests/test_loss.py +0 -0
  160. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/tests/test_neigh_sampler.py +0 -0
  161. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/tests/test_optimizer.py +0 -0
  162. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/tests/test_utils.py +0 -0
  163. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/gnn/utils.py +0 -0
  164. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/__init__.py +0 -0
  165. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/base.py +0 -0
  166. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/postprocess.py +0 -0
  167. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/tests/__init__.py +0 -0
  168. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/tests/test_API.py +0 -0
  169. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/tests/test_algos.py +0 -0
  170. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/hierarchy/tests/test_postprocess.py +0 -0
  171. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/__init__.py +0 -0
  172. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/basics.py +0 -0
  173. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/diteration.cpp +0 -0
  174. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/diteration.pyx +0 -0
  175. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/eig_solver.py +0 -0
  176. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/laplacian.py +0 -0
  177. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/normalizer.py +0 -0
  178. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/operators.py +0 -0
  179. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/polynome.py +0 -0
  180. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/ppr_solver.py +0 -0
  181. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/push.pyx +0 -0
  182. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/svd_solver.py +0 -0
  183. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/tests/__init__.py +0 -0
  184. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/tests/test_eig.py +0 -0
  185. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/tests/test_laplacian.py +0 -0
  186. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/tests/test_normalization.py +0 -0
  187. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/tests/test_operators.py +0 -0
  188. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/tests/test_polynome.py +0 -0
  189. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/tests/test_ppr.py +0 -0
  190. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/tests/test_sparse_lowrank.py +0 -0
  191. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linalg/tests/test_svd.py +0 -0
  192. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linkpred/__init__.py +0 -0
  193. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linkpred/base.py +0 -0
  194. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linkpred/nn.py +0 -0
  195. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linkpred/tests/__init__.py +0 -0
  196. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/linkpred/tests/test_nn.py +0 -0
  197. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/log.py +0 -0
  198. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/path/__init__.py +0 -0
  199. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/path/dag.py +0 -0
  200. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/path/distances.py +0 -0
  201. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/path/search.py +0 -0
  202. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/path/shortest_path.py +0 -0
  203. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/path/tests/__init__.py +0 -0
  204. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/path/tests/test_dag.py +0 -0
  205. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/path/tests/test_distances.py +0 -0
  206. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/path/tests/test_search.py +0 -0
  207. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/path/tests/test_shortest_path.py +0 -0
  208. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/__init__.py +0 -0
  209. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/base.py +0 -0
  210. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/betweenness.cpp +0 -0
  211. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/betweenness.pyx +0 -0
  212. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/closeness.py +0 -0
  213. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/hits.py +0 -0
  214. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/katz.py +0 -0
  215. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/pagerank.py +0 -0
  216. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/postprocess.py +0 -0
  217. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/tests/__init__.py +0 -0
  218. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/tests/test_API.py +0 -0
  219. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/tests/test_betweenness.py +0 -0
  220. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/tests/test_closeness.py +0 -0
  221. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/tests/test_hits.py +0 -0
  222. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/tests/test_pagerank.py +0 -0
  223. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/ranking/tests/test_postprocess.py +0 -0
  224. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/regression/__init__.py +0 -0
  225. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/regression/base.py +0 -0
  226. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/regression/tests/__init__.py +0 -0
  227. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/regression/tests/test_API.py +0 -0
  228. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/regression/tests/test_diffusion.py +0 -0
  229. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/sknetwork.py +0 -0
  230. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/test_base.py +0 -0
  231. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/test_log.py +0 -0
  232. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/__init__.py +0 -0
  233. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/cliques.pyx +0 -0
  234. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/core.pyx +0 -0
  235. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/minheap.cpp +0 -0
  236. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/minheap.pxd +0 -0
  237. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/minheap.pyx +0 -0
  238. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/structure.py +0 -0
  239. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/tests/__init__.py +0 -0
  240. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/tests/test_cliques.py +0 -0
  241. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/tests/test_core.py +0 -0
  242. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/tests/test_cycles.py +0 -0
  243. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/tests/test_structure.py +0 -0
  244. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/tests/test_triangles.py +0 -0
  245. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/tests/test_wl.py +0 -0
  246. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/triangles.cpp +0 -0
  247. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/triangles.pyx +0 -0
  248. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/weisfeiler_lehman.py +0 -0
  249. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/weisfeiler_lehman_core.cpp +0 -0
  250. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/topology/weisfeiler_lehman_core.pyx +0 -0
  251. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/check.py +0 -0
  252. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/format.py +0 -0
  253. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/membership.py +0 -0
  254. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/neighbors.py +0 -0
  255. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/tests/__init__.py +0 -0
  256. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/tests/test_check.py +0 -0
  257. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/tests/test_format.py +0 -0
  258. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/tests/test_membership.py +0 -0
  259. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/tests/test_neighbors.py +0 -0
  260. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/tests/test_tfidf.py +0 -0
  261. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/tests/test_values.py +0 -0
  262. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/utils/tfidf.py +0 -0
  263. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/visualization/__init__.py +0 -0
  264. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/visualization/colors.py +0 -0
  265. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/visualization/dendrograms.py +0 -0
  266. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/visualization/tests/__init__.py +0 -0
  267. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/visualization/tests/test_dendrograms.py +0 -0
  268. {scikit-network-0.32.0 → scikit-network-0.33.1}/sknetwork/visualization/tests/test_graphs.py +0 -0
@@ -13,7 +13,6 @@ Development Lead
13
13
  * Simon Delarue <simon.delarue@telecom-paris.fr>
14
14
  * Marc Jeanmougin <marc.jeanmougin@telecom-paris.fr>
15
15
 
16
-
17
16
  Former lead
18
17
  -----------
19
18
 
@@ -2,7 +2,24 @@
2
2
  History
3
3
  =======
4
4
 
5
- 0.32.0 (2024-03-28)
5
+ 0.33.1 (2024-09-18)
6
+ -------------------
7
+
8
+ * Upgrade Numpy
9
+
10
+ 0.33.0 (2024-07-16)
11
+ -------------------
12
+
13
+ * Add Python 3.12
14
+ * Drop Python 3.8
15
+
16
+ 0.32.1 (2024-04-02)
17
+ -------------------
18
+
19
+ * Fix documentation
20
+ * Fix wheel upload
21
+
22
+ 0.32.0 (2024-03-29)
6
23
  -------------------
7
24
 
8
25
  * Add Leiden clustering algorithm
@@ -0,0 +1,115 @@
1
+ Metadata-Version: 2.1
2
+ Name: scikit-network
3
+ Version: 0.33.1
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
+ Requires-Python: >=3.9
25
+ Description-Content-Type: text/x-rst
26
+ Provides-Extra: test
27
+ License-File: LICENSE
28
+ License-File: AUTHORS.rst
29
+
30
+ .. image:: https://perso.telecom-paristech.fr/bonald/logo_sknetwork.png
31
+ :align: right
32
+ :width: 150px
33
+ :alt: logo sknetwork
34
+
35
+
36
+
37
+ .. image:: https://img.shields.io/pypi/v/scikit-network.svg
38
+ :target: https://pypi.python.org/pypi/scikit-network
39
+
40
+ .. image:: https://github.com/sknetwork-team/scikit-network/actions/workflows/ci_checks.yml/badge.svg
41
+ :target: https://github.com/sknetwork-team/scikit-network/actions/workflows/ci_checks.yml
42
+
43
+ .. image:: https://readthedocs.org/projects/scikit-network/badge/?version=latest
44
+ :target: https://scikit-network.readthedocs.io/en/latest/?badge=latest
45
+ :alt: Documentation Status
46
+
47
+ .. image:: https://codecov.io/gh/sknetwork-team/scikit-network/branch/master/graph/badge.svg
48
+ :target: https://codecov.io/gh/sknetwork-team/scikit-network
49
+
50
+ .. image:: https://img.shields.io/pypi/pyversions/scikit-network.svg
51
+ :target: https://pypi.python.org/pypi/scikit-network
52
+
53
+ Free software library in Python for machine learning on graphs:
54
+
55
+ * Memory-efficient representation of graphs as sparse matrices in scipy_ format
56
+ * Fast algorithms
57
+ * Simple API inspired by scikit-learn_
58
+
59
+ .. _scipy: https://www.scipy.org
60
+ .. _scikit-learn: https://scikit-learn.org/
61
+
62
+ Resources
63
+ ---------
64
+
65
+ * Free software: BSD license
66
+ * GitHub: https://github.com/sknetwork-team/scikit-network
67
+ * Documentation: https://scikit-network.readthedocs.io
68
+
69
+ Quick start
70
+ -----------
71
+
72
+ Install scikit-network:
73
+
74
+ .. code-block:: console
75
+
76
+ $ pip install scikit-network
77
+
78
+ Import scikit-network::
79
+
80
+ import sknetwork
81
+
82
+ Overview
83
+ --------
84
+
85
+ An overview of the package is presented in this `notebook <https://scikit-network.readthedocs.io/en/latest/tutorials/overview/index.html>`_.
86
+
87
+ Documentation
88
+ -------------
89
+
90
+ The documentation is structured as follows:
91
+
92
+ * `Getting started <https://scikit-network.readthedocs.io/en/latest/first_steps.html>`_: First steps to install, import and use scikit-network.
93
+ * `User manual <https://scikit-network.readthedocs.io/en/latest/reference/data.html>`_: Description of each function and object of scikit-network.
94
+ * `Tutorials <https://scikit-network.readthedocs.io/en/latest/tutorials/data/index.html>`_: Application of the main tools to toy examples.
95
+ * `Examples <https://scikit-network.readthedocs.io/en/latest/use_cases/text.html>`_: Examples combining several tools on specific use cases.
96
+ * `About <https://scikit-network.readthedocs.io/en/latest/authors.html>`_: Authors, history of the library, how to contribute, index of functions and objects.
97
+
98
+ Citing
99
+ ------
100
+
101
+ If you want to cite scikit-network, please refer to the publication in
102
+ the `Journal of Machine Learning Research <https://jmlr.org>`_:
103
+
104
+ .. code::
105
+
106
+ @article{JMLR:v21:20-412,
107
+ author = {Thomas Bonald and Nathan de Lara and Quentin Lutz and Bertrand Charpentier},
108
+ title = {Scikit-network: Graph Analysis in Python},
109
+ journal = {Journal of Machine Learning Research},
110
+ year = {2020},
111
+ volume = {21},
112
+ number = {185},
113
+ pages = {1-6},
114
+ url = {http://jmlr.org/papers/v21/20-412.html}
115
+ }
@@ -8,7 +8,7 @@ Visualization tools.
8
8
  Graphs
9
9
  ------
10
10
 
11
- .. autofunction:: sknetwork.visualization.graphs.svg_graph
11
+ .. autofunction:: sknetwork.visualization.graphs.visualize_graph
12
12
 
13
13
  .. autofunction:: sknetwork.visualization.graphs.visualize_bigraph
14
14
 
@@ -0,0 +1,45 @@
1
+ [build-system]
2
+ requires = [
3
+ "numpy",
4
+ "setuptools",
5
+ "scipy",
6
+ "pytest-runner",
7
+ "cython"
8
+ ]
9
+ build-backend = "setuptools.build_meta"
10
+
11
+
12
+ [project]
13
+ name = "scikit-network"
14
+ version = "0.33.1"
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
+ ]
36
+ requires-python = ">= 3.9"
37
+
38
+ [project.optional-dependencies]
39
+ test = ["pytest", "note", "pluggy>=0.7.1"]
40
+
41
+ [project.urls]
42
+ Repository = "https://github.com/sknetwork-team/scikit-network"
43
+ Documentation = "https://scikit-network.readthedocs.io/"
44
+ Changelog = "https://github.com/sknetwork-team/scikit-network/blob/master/HISTORY.rst"
45
+
@@ -0,0 +1,115 @@
1
+ Metadata-Version: 2.1
2
+ Name: scikit-network
3
+ Version: 0.33.1
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
+ Requires-Python: >=3.9
25
+ Description-Content-Type: text/x-rst
26
+ Provides-Extra: test
27
+ License-File: LICENSE
28
+ License-File: AUTHORS.rst
29
+
30
+ .. image:: https://perso.telecom-paristech.fr/bonald/logo_sknetwork.png
31
+ :align: right
32
+ :width: 150px
33
+ :alt: logo sknetwork
34
+
35
+
36
+
37
+ .. image:: https://img.shields.io/pypi/v/scikit-network.svg
38
+ :target: https://pypi.python.org/pypi/scikit-network
39
+
40
+ .. image:: https://github.com/sknetwork-team/scikit-network/actions/workflows/ci_checks.yml/badge.svg
41
+ :target: https://github.com/sknetwork-team/scikit-network/actions/workflows/ci_checks.yml
42
+
43
+ .. image:: https://readthedocs.org/projects/scikit-network/badge/?version=latest
44
+ :target: https://scikit-network.readthedocs.io/en/latest/?badge=latest
45
+ :alt: Documentation Status
46
+
47
+ .. image:: https://codecov.io/gh/sknetwork-team/scikit-network/branch/master/graph/badge.svg
48
+ :target: https://codecov.io/gh/sknetwork-team/scikit-network
49
+
50
+ .. image:: https://img.shields.io/pypi/pyversions/scikit-network.svg
51
+ :target: https://pypi.python.org/pypi/scikit-network
52
+
53
+ Free software library in Python for machine learning on graphs:
54
+
55
+ * Memory-efficient representation of graphs as sparse matrices in scipy_ format
56
+ * Fast algorithms
57
+ * Simple API inspired by scikit-learn_
58
+
59
+ .. _scipy: https://www.scipy.org
60
+ .. _scikit-learn: https://scikit-learn.org/
61
+
62
+ Resources
63
+ ---------
64
+
65
+ * Free software: BSD license
66
+ * GitHub: https://github.com/sknetwork-team/scikit-network
67
+ * Documentation: https://scikit-network.readthedocs.io
68
+
69
+ Quick start
70
+ -----------
71
+
72
+ Install scikit-network:
73
+
74
+ .. code-block:: console
75
+
76
+ $ pip install scikit-network
77
+
78
+ Import scikit-network::
79
+
80
+ import sknetwork
81
+
82
+ Overview
83
+ --------
84
+
85
+ An overview of the package is presented in this `notebook <https://scikit-network.readthedocs.io/en/latest/tutorials/overview/index.html>`_.
86
+
87
+ Documentation
88
+ -------------
89
+
90
+ The documentation is structured as follows:
91
+
92
+ * `Getting started <https://scikit-network.readthedocs.io/en/latest/first_steps.html>`_: First steps to install, import and use scikit-network.
93
+ * `User manual <https://scikit-network.readthedocs.io/en/latest/reference/data.html>`_: Description of each function and object of scikit-network.
94
+ * `Tutorials <https://scikit-network.readthedocs.io/en/latest/tutorials/data/index.html>`_: Application of the main tools to toy examples.
95
+ * `Examples <https://scikit-network.readthedocs.io/en/latest/use_cases/text.html>`_: Examples combining several tools on specific use cases.
96
+ * `About <https://scikit-network.readthedocs.io/en/latest/authors.html>`_: Authors, history of the library, how to contribute, index of functions and objects.
97
+
98
+ Citing
99
+ ------
100
+
101
+ If you want to cite scikit-network, please refer to the publication in
102
+ the `Journal of Machine Learning Research <https://jmlr.org>`_:
103
+
104
+ .. code::
105
+
106
+ @article{JMLR:v21:20-412,
107
+ author = {Thomas Bonald and Nathan de Lara and Quentin Lutz and Bertrand Charpentier},
108
+ title = {Scikit-network: Graph Analysis in Python},
109
+ journal = {Journal of Machine Learning Research},
110
+ year = {2020},
111
+ volume = {21},
112
+ number = {185},
113
+ pages = {1-6},
114
+ url = {http://jmlr.org/papers/v21/20-412.html}
115
+ }
@@ -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
@@ -0,0 +1,7 @@
1
+ numpy>=1.22.4
2
+ scipy>=1.7.3
3
+
4
+ [test]
5
+ pytest
6
+ note
7
+ pluggy>=0.7.1
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 0.32.0
2
+ current_version = 0.33.1python setup.py sdist
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.8
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
- __builtins__.__NUMPY_SETUP__ = False
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.8',
139
- 'Programming Language :: Python :: 3.9',
140
- 'Programming Language :: Python :: 3.10',
141
- 'Programming Language :: Python :: 3.11'
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.32.0',
157
118
  zip_safe=False,
158
119
  ext_modules=ext_modules,
159
120
  include_dirs=[numpy.get_include()],
@@ -4,7 +4,7 @@
4
4
 
5
5
  __author__ = """scikit-network team"""
6
6
  __email__ = "thomas.bonald@telecom-paris.fr"
7
- __version__ = '0.32.0'
7
+ __version__ = '0.33.0'
8
8
 
9
9
  import sknetwork.topology
10
10
  import sknetwork.path
@@ -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
- >>> np.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
@@ -74,8 +74,9 @@ class DiffusionClassifier(BaseClassifier):
74
74
  self.scale = scale
75
75
 
76
76
  def fit(self, input_matrix: Union[sparse.csr_matrix, np.ndarray],
77
- labels: Optional[Union[dict, np.ndarray]] = None, labels_row: Optional[Union[dict, np.ndarray]] = None,
78
- labels_col: Optional[Union[dict, np.ndarray]] = None, force_bipartite: bool = False) \
77
+ labels: Optional[Union[dict, list, np.ndarray]] = None,
78
+ labels_row: Optional[Union[dict, list, np.ndarray]] = None,
79
+ labels_col: Optional[Union[dict, list, np.ndarray]] = None, force_bipartite: bool = False) \
79
80
  -> 'DiffusionClassifier':
80
81
  """Compute the solution to the Dirichlet problem (temperatures at equilibrium).
81
82
 
@@ -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
- >>> np.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):
@@ -97,8 +97,9 @@ class NNClassifier(BaseClassifier):
97
97
 
98
98
  return probs, labels
99
99
 
100
- def fit(self, input_matrix: Union[sparse.csr_matrix, np.ndarray], labels: Union[np.ndarray, dict] = None,
101
- labels_row: Union[np.ndarray, dict] = None, labels_col: Union[np.ndarray, dict] = None) -> 'NNClassifier':
100
+ def fit(self, input_matrix: Union[sparse.csr_matrix, np.ndarray], labels: Union[np.ndarray, list, dict] = None,
101
+ labels_row: Union[np.ndarray, list, dict] = None,
102
+ labels_col: Union[np.ndarray, list, dict] = None) -> 'NNClassifier':
102
103
  """Node classification by k-nearest neighbors in the embedding space.
103
104
 
104
105
  Parameters
@@ -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
- >>> get_accuracy_score(labels_true, labels_pred)
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
- >>> np.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
- >>> np.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
@@ -91,19 +91,20 @@ class Propagation(BaseClassifier):
91
91
  labels = labels[index_seed]
92
92
  return index_seed.astype(np.int32), index_remain.astype(np.int32), labels.astype(np.int32)
93
93
 
94
- def fit(self, input_matrix: Union[sparse.csr_matrix, np.ndarray], labels: Union[np.ndarray, dict] = None,
95
- labels_row: Union[np.ndarray, dict] = None, labels_col: Union[np.ndarray, dict] = None) -> 'Propagation':
94
+ def fit(self, input_matrix: Union[sparse.csr_matrix, np.ndarray], labels: Union[np.ndarray, list, dict] = None,
95
+ labels_row: Union[np.ndarray, list, dict] = None,
96
+ labels_col: Union[np.ndarray, list, dict] = None) -> 'Propagation':
96
97
  """Node classification by label propagation.
97
98
 
98
99
  Parameters
99
100
  ----------
100
101
  input_matrix : sparse.csr_matrix, np.ndarray
101
102
  Adjacency matrix or biadjacency matrix of the graph.
102
- labels : np.ndarray, dict
103
+ labels : array, list or dict
103
104
  Known labels. Negative values ignored.
104
- labels_row : np.ndarray, dict
105
+ labels_row : array, list or dict
105
106
  Known labels of rows, for bipartite graphs.
106
- labels_col : np.ndarray, dict
107
+ labels_col : array, list or dict
107
108
  Known labels of columns, for bipartite graphs.
108
109
 
109
110
  Returns
@@ -76,7 +76,8 @@ class Leiden(Louvain):
76
76
  References
77
77
  ----------
78
78
  * Traag, V. A., Waltman, L., & Van Eck, N. J. (2019).
79
- `From Louvain to Leiden: guaranteeing well-connected communities`, Scientific reports.
79
+ `From Louvain to Leiden: guaranteeing well-connected communities`, Scientific reports.
80
+
80
81
  """
81
82
 
82
83
  def __init__(self, resolution: float = 1, modularity: str = 'dugue', tol_optimization: float = 1e-3,
@@ -14,8 +14,8 @@ from scipy import sparse
14
14
  from sknetwork.clustering.base import BaseClustering
15
15
  from sknetwork.clustering.louvain_core import optimize_core
16
16
  from sknetwork.clustering.postprocess import reindex_labels
17
- from sknetwork.utils.check import check_random_state, get_probs
18
- from sknetwork.utils.format import check_format, get_adjacency, directed2undirected
17
+ from sknetwork.utils.check import check_format, check_random_state, get_probs
18
+ from sknetwork.utils.format import get_adjacency, directed2undirected
19
19
  from sknetwork.utils.membership import get_membership
20
20
  from sknetwork.log import Log
21
21
 
@@ -131,9 +131,9 @@ class Louvain(BaseClustering, Log):
131
131
  increase :
132
132
  Gain in modularity after optimization.
133
133
  """
134
- labels = labels.astype(np.int32)
135
- indices = adjacency.indices
136
- indptr = adjacency.indptr
134
+ labels = labels.astype(np.int64)
135
+ indices = adjacency.indices.astype(np.int64)
136
+ indptr = adjacency.indptr.astype(np.int64)
137
137
  data = adjacency.data.astype(np.float32)
138
138
  out_weights = out_weights.astype(np.float32)
139
139
  in_weights = in_weights.astype(np.float32)
@@ -193,7 +193,6 @@ class Louvain(BaseClustering, Log):
193
193
  self._init_vars()
194
194
 
195
195
  # adjacency matrix
196
- input_matrix = check_format(input_matrix)
197
196
  force_directed = self.modularity == 'dugue'
198
197
  adjacency, self.bipartite = get_adjacency(input_matrix, force_directed=force_directed,
199
198
  force_bipartite=force_bipartite)
@@ -266,6 +265,7 @@ class Louvain(BaseClustering, Log):
266
265
  -------
267
266
  self : :class:`Louvain`
268
267
  """
268
+ input_matrix = check_format(input_matrix)
269
269
  adjacency, out_weights, in_weights, membership, index = self._pre_processing(input_matrix, force_bipartite)
270
270
  n = adjacency.shape[0]
271
271
  count = 0
@@ -64,7 +64,7 @@ def get_modularity(input_matrix: Union[sparse.csr_matrix, np.ndarray], labels: n
64
64
  >>> from sknetwork.data import house
65
65
  >>> adjacency = house()
66
66
  >>> labels = np.array([0, 0, 1, 1, 0])
67
- >>> np.round(get_modularity(adjacency, labels), 2)
67
+ >>> float(np.round(get_modularity(adjacency, labels), 2))
68
68
  0.11
69
69
  """
70
70
  adjacency, bipartite = get_adjacency(input_matrix.astype(float))