graphdatascience 1.17__tar.gz → 1.18__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.
Files changed (455) hide show
  1. graphdatascience-1.18/MANIFEST.in +3 -0
  2. {graphdatascience-1.17/graphdatascience.egg-info → graphdatascience-1.18}/PKG-INFO +13 -28
  3. graphdatascience-1.18/pyproject.toml +175 -0
  4. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/algo/algo_proc_runner.py +5 -3
  5. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/arrow_client/authenticated_flight_client.py +87 -52
  6. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/arrow_client/middleware/auth_middleware.py +3 -3
  7. {graphdatascience-1.17/graphdatascience/arrow_client/v2 → graphdatascience-1.18/src/graphdatascience/arrow_client/v1}/data_mapper_utils.py +4 -4
  8. graphdatascience-1.18/src/graphdatascience/arrow_client/v1/gds_arrow_client.py +652 -0
  9. graphdatascience-1.18/src/graphdatascience/arrow_client/v2/api_types.py +49 -0
  10. graphdatascience-1.18/src/graphdatascience/arrow_client/v2/data_mapper_utils.py +19 -0
  11. graphdatascience-1.18/src/graphdatascience/arrow_client/v2/gds_arrow_client.py +529 -0
  12. graphdatascience-1.18/src/graphdatascience/arrow_client/v2/job_client.py +105 -0
  13. graphdatascience-1.18/src/graphdatascience/arrow_client/v2/mutation_client.py +52 -0
  14. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/arrow_client/v2/remote_write_back_client.py +12 -8
  15. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/call_parameters.py +2 -2
  16. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/endpoints.py +1 -1
  17. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/error/cypher_warning_handler.py +11 -0
  18. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/base_graph_proc_runner.py +18 -17
  19. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_alpha_proc_runner.py +3 -4
  20. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_beta_proc_runner.py +2 -2
  21. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_create_result.py +5 -5
  22. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_cypher_runner.py +4 -4
  23. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_entity_ops_runner.py +16 -14
  24. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_export_runner.py +7 -5
  25. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_object.py +6 -6
  26. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_project_runner.py +1 -1
  27. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_remote_project_runner.py +4 -6
  28. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_sample_runner.py +3 -1
  29. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/nx_loader.py +3 -3
  30. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/ogb_loader.py +8 -8
  31. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph_data_science.py +67 -38
  32. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/graphsage_model.py +4 -2
  33. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/model_beta_proc_runner.py +6 -4
  34. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/model_proc_runner.py +3 -3
  35. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/node_classification_model.py +4 -2
  36. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/simple_rel_embedding_model.py +6 -4
  37. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/v2/model.py +1 -2
  38. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/v2/model_api.py +1 -7
  39. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/classification_training_pipeline.py +5 -3
  40. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/lp_pipeline_create_runner.py +3 -1
  41. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/lp_training_pipeline.py +3 -1
  42. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/nc_training_pipeline.py +6 -4
  43. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/nr_pipeline_create_runner.py +4 -2
  44. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/nr_training_pipeline.py +8 -6
  45. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/pipeline_beta_proc_runner.py +6 -4
  46. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/pipeline_proc_runner.py +6 -4
  47. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/training_pipeline.py +12 -10
  48. graphdatascience-1.18/src/graphdatascience/plugin_v2_endpoints.py +454 -0
  49. graphdatascience-1.18/src/graphdatascience/procedure_surface/__init__.py +3 -0
  50. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/__init__.py +3 -0
  51. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/catalog/__init__.py +77 -0
  52. {graphdatascience-1.17/graphdatascience/procedure_surface/api → graphdatascience-1.18/src/graphdatascience/procedure_surface/api/catalog}/catalog_endpoints.py +111 -63
  53. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/api/catalog/graph_api.py +6 -6
  54. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/api/catalog/graph_backend.py +1 -2
  55. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/api/catalog/graph_info.py +9 -7
  56. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/catalog/graph_sampling_endpoints.py +172 -0
  57. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/catalog/node_label_endpoints.py +112 -0
  58. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/catalog/node_properties_endpoints.py +172 -0
  59. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/api/catalog/relationships_endpoints.py +137 -83
  60. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/catalog/scale_properties_endpoints.py +289 -0
  61. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/catalog/scaler_config.py +11 -0
  62. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/centrality/__init__.py +93 -0
  63. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/centrality/articlerank_endpoints.py +385 -0
  64. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/centrality/articulationpoints_endpoints.py +245 -0
  65. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/centrality/betweenness_endpoints.py +302 -0
  66. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/centrality/celf_endpoints.py +311 -0
  67. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/centrality/closeness_endpoints.py +275 -0
  68. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/centrality/closeness_harmonic_endpoints.py +260 -0
  69. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/centrality/degree_endpoints.py +295 -0
  70. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/centrality/eigenvector_endpoints.py +374 -0
  71. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/centrality/pagerank_endpoints.py +378 -0
  72. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/__init__.py +148 -0
  73. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/clique_counting_endpoints.py +239 -0
  74. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/conductance_endpoints.py +58 -0
  75. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/hdbscan_endpoints.py +330 -0
  76. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/k1coloring_endpoints.py +289 -0
  77. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/kcore_endpoints.py +250 -0
  78. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/kmeans_endpoints.py +390 -0
  79. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/labelpropagation_endpoints.py +336 -0
  80. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/leiden_endpoints.py +400 -0
  81. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/local_clustering_coefficient_endpoints.py +280 -0
  82. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/louvain_endpoints.py +370 -0
  83. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/maxkcut_endpoints.py +199 -0
  84. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/modularity_optimization_endpoints.py +355 -0
  85. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/scc_endpoints.py +267 -0
  86. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/sllpa_endpoints.py +283 -0
  87. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/triangle_count_endpoints.py +302 -0
  88. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/community/wcc_endpoints.py +313 -0
  89. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/config_endpoints.py +104 -0
  90. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/default_values.py +2 -0
  91. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/api/model/graphsage_model.py +93 -99
  92. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/node_embedding/__init__.py +45 -0
  93. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/node_embedding/fastrp_endpoints.py +358 -0
  94. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_endpoints.py +210 -0
  95. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_predict_endpoints.py +226 -0
  96. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_train_endpoints.py +153 -0
  97. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/node_embedding/hashgnn_endpoints.py +271 -0
  98. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/node_embedding/node2vec_endpoints.py +381 -0
  99. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/__init__.py +101 -0
  100. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/all_shortest_path_endpoints.py +121 -0
  101. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/dag_endpoints.py +17 -0
  102. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/dijkstra_endpoints.py +256 -0
  103. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/k_spanning_tree_endpoints.py +76 -0
  104. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/longest_path_endpoints.py +54 -0
  105. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/max_flow_endpoints.py +297 -0
  106. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/prize_steiner_tree_endpoints.py +286 -0
  107. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/shortest_path_endpoints.py +38 -0
  108. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/single_source_bellman_ford_endpoints.py +289 -0
  109. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/single_source_delta_endpoints.py +295 -0
  110. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/single_source_dijkstra_endpoints.py +226 -0
  111. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/source_target_astar_endpoints.py +258 -0
  112. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/source_target_dijkstra_endpoints.py +234 -0
  113. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/source_target_yens_endpoints.py +254 -0
  114. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/spanning_tree_endpoints.py +298 -0
  115. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/pathfinding/steiner_tree_endpoints.py +331 -0
  116. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/similarity/__init__.py +29 -0
  117. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/similarity/knn_endpoints.py +385 -0
  118. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/similarity/knn_filtered_endpoints.py +436 -0
  119. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/similarity/knn_results.py +44 -0
  120. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/similarity/node_similarity_endpoints.py +380 -0
  121. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/similarity/node_similarity_filtered_endpoints.py +404 -0
  122. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/similarity/node_similarity_results.py +35 -0
  123. graphdatascience-1.18/src/graphdatascience/procedure_surface/api/system_endpoints.py +26 -0
  124. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/catalog/__init__.py +3 -0
  125. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/catalog}/catalog_arrow_endpoints.py +147 -51
  126. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/arrow/catalog/graph_backend_arrow.py +1 -3
  127. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/arrow/catalog/graph_ops_arrow.py +2 -4
  128. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/catalog}/graph_sampling_arrow_endpoints.py +36 -30
  129. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/arrow/catalog/node_label_arrow_endpoints.py +32 -19
  130. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/arrow/catalog/node_properties_arrow_endpoints.py +36 -34
  131. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/arrow/catalog/relationship_arrow_endpoints.py +77 -33
  132. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/catalog/scale_properties_arrow_endpoints.py +184 -0
  133. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/centrality/articlerank_arrow_endpoints.py +222 -0
  134. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/centrality}/articulationpoints_arrow_endpoints.py +55 -45
  135. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/centrality}/betweenness_arrow_endpoints.py +70 -64
  136. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/centrality}/celf_arrow_endpoints.py +75 -60
  137. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/centrality}/closeness_arrow_endpoints.py +60 -50
  138. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/centrality}/closeness_harmonic_arrow_endpoints.py +55 -45
  139. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/centrality}/degree_arrow_endpoints.py +70 -55
  140. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/centrality/eigenvector_arrow_endpoints.py +212 -0
  141. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/centrality/pagerank_arrow_endpoints.py +226 -0
  142. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/clique_counting_arrow_endpoints.py +159 -0
  143. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/conductance_arrow_endpoints.py +48 -0
  144. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/hdbscan_arrow_endpoints.py +210 -0
  145. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community}/k1coloring_arrow_endpoints.py +73 -58
  146. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/kcore_arrow_endpoints.py +154 -0
  147. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/kmeans_arrow_endpoints.py +249 -0
  148. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/labelpropagation_arrow_endpoints.py +217 -0
  149. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/leiden_arrow_endpoints.py +254 -0
  150. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/local_clustering_coefficient_arrow_endpoints.py +195 -0
  151. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community}/louvain_arrow_endpoints.py +97 -82
  152. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/maxkcut_arrow_endpoints.py +128 -0
  153. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/modularity_optimization_arrow_endpoints.py +231 -0
  154. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/scc_arrow_endpoints.py +165 -0
  155. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/sllpa_arrow_endpoints.py +190 -0
  156. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community/triangle_count_arrow_endpoints.py +182 -0
  157. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community}/wcc_arrow_endpoints.py +82 -67
  158. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/config_arrow_endpoints.py +87 -0
  159. graphdatascience-1.17/graphdatascience/procedure_surface/arrow/node_property_endpoints.py → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/endpoints_helper_base.py +74 -35
  160. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/arrow/model_api_arrow.py +2 -2
  161. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/node_embedding}/fastrp_arrow_endpoints.py +90 -80
  162. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/node_embedding}/graphsage_predict_arrow_endpoints.py +53 -45
  163. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/node_embedding/graphsage_train_arrow_endpoints.py +166 -0
  164. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/node_embedding}/hashgnn_arrow_endpoints.py +72 -62
  165. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/node_embedding}/node2vec_arrow_endpoints.py +116 -101
  166. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/node_property_endpoints.py +33 -0
  167. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/all_shortest_path_arrow_endpoints.py +98 -0
  168. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/dag_arrow_endpoints.py +21 -0
  169. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/dijkstra_arrow_endpoints.py +172 -0
  170. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/k_spanning_tree_arrow_endpoints.py +67 -0
  171. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/longest_path_arrow_endpoints.py +51 -0
  172. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/max_flow_arrow_endpoints.py +203 -0
  173. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/prize_steiner_tree_arrow_endpoints.py +192 -0
  174. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/shortest_path_arrow_endpoints.py +49 -0
  175. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_bellman_ford_arrow_endpoints.py +202 -0
  176. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_delta_arrow_endpoints.py +210 -0
  177. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_dijkstra_arrow_endpoints.py +169 -0
  178. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_astar_arrow_endpoints.py +189 -0
  179. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_dijkstra_arrow_endpoints.py +172 -0
  180. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_yens_arrow_endpoints.py +181 -0
  181. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/spanning_tree_arrow_endpoints.py +202 -0
  182. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding/steiner_tree_arrow_endpoints.py +222 -0
  183. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/relationship_endpoints_helper.py +43 -0
  184. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/similarity/knn_arrow_endpoints.py +283 -0
  185. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/similarity/knn_filtered_arrow_endpoints.py +299 -0
  186. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/similarity/node_similarity_arrow_endpoints.py +290 -0
  187. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/similarity/node_similarity_filtered_arrow_endpoints.py +298 -0
  188. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/stream_result_mapper.py +55 -0
  189. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/system_arrow_endpoints.py +24 -0
  190. graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/table_endpoints_helper.py +13 -0
  191. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/__init__.py +7 -0
  192. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/cypher/catalog/graph_backend_cypher.py +1 -3
  193. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/catalog}/graph_sampling_cypher_endpoints.py +39 -32
  194. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/cypher/catalog/node_label_cypher_endpoints.py +15 -15
  195. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/cypher/catalog/node_properties_cypher_endpoints.py +30 -35
  196. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/cypher/catalog/relationship_cypher_endpoints.py +68 -36
  197. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/catalog/scale_properties_cypher_endpoints.py +200 -0
  198. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/catalog/utils.py +12 -0
  199. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/catalog_cypher_endpoints.py +251 -0
  200. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/centrality}/articlerank_cypher_endpoints.py +99 -80
  201. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/centrality}/articulationpoints_cypher_endpoints.py +47 -45
  202. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/centrality}/betweenness_cypher_endpoints.py +66 -60
  203. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/centrality}/celf_cypher_endpoints.py +67 -60
  204. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/centrality}/closeness_cypher_endpoints.py +56 -50
  205. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/centrality}/closeness_harmonic_cypher_endpoints.py +53 -45
  206. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/centrality}/degree_cypher_endpoints.py +66 -55
  207. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/centrality}/eigenvector_cypher_endpoints.py +94 -75
  208. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/centrality/pagerank_cypher_endpoints.py +247 -0
  209. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/clique_counting_cypher_endpoints.py +172 -0
  210. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/conductance_cypher_endpoints.py +45 -0
  211. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/hdbscan_cypher_endpoints.py +226 -0
  212. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community}/k1coloring_cypher_endpoints.py +69 -58
  213. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community}/kcore_cypher_endpoints.py +60 -47
  214. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/kmeans_cypher_endpoints.py +263 -0
  215. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/labelpropagation_cypher_endpoints.py +230 -0
  216. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/leiden_cypher_endpoints.py +268 -0
  217. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/local_clustering_coefficient_cypher_endpoints.py +191 -0
  218. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community}/louvain_cypher_endpoints.py +92 -81
  219. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/maxkcut_cypher_endpoints.py +128 -0
  220. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/modularity_optimization_cypher_endpoints.py +244 -0
  221. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community}/scc_cypher_endpoints.py +65 -48
  222. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/sllpa_cypher_endpoints.py +208 -0
  223. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community/triangle_count_cypher_endpoints.py +180 -0
  224. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community}/wcc_cypher_endpoints.py +77 -65
  225. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/config_cypher_endpoints.py +109 -0
  226. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/cypher/estimation_utils.py +7 -7
  227. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/cypher/model_api_cypher.py +2 -2
  228. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/node_embedding}/fastrp_cypher_endpoints.py +86 -80
  229. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/node_embedding}/graphsage_predict_cypher_endpoints.py +48 -42
  230. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/node_embedding/graphsage_train_cypher_endpoints.py +156 -0
  231. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/node_embedding}/hashgnn_cypher_endpoints.py +66 -62
  232. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/node_embedding}/node2vec_cypher_endpoints.py +108 -100
  233. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/all_shortest_path_cypher_endpoints.py +90 -0
  234. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/dag_cypher_endpoints.py +18 -0
  235. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/dijkstra_cypher_endpoints.py +164 -0
  236. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/k_spanning_tree_cypher_endpoints.py +57 -0
  237. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/longest_path_cypher_endpoints.py +48 -0
  238. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/max_flow_cypher_endpoints.py +204 -0
  239. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/prize_steiner_tree_cypher_endpoints.py +189 -0
  240. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/shortest_path_cypher_endpoints.py +44 -0
  241. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_bellman_ford_cypher_endpoints.py +198 -0
  242. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_delta_cypher_endpoints.py +204 -0
  243. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_dijkstra_cypher_endpoints.py +160 -0
  244. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_astar_cypher_endpoints.py +180 -0
  245. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_dijkstra_cypher_endpoints.py +164 -0
  246. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_yens_cypher_endpoints.py +172 -0
  247. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/spanning_tree_cypher_endpoints.py +199 -0
  248. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding/steiner_tree_cypher_endpoints.py +219 -0
  249. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/similarity/knn_cypher_endpoints.py +275 -0
  250. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/similarity/knn_filtered_cypher_endpoints.py +291 -0
  251. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/similarity/node_similarity_cypher_endpoints.py +273 -0
  252. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/similarity/node_similarity_filtered_cypher_endpoints.py +287 -0
  253. graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/system_cypher_endpoints.py +23 -0
  254. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/utils/config_converter.py +5 -5
  255. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/utils/result_utils.py +1 -1
  256. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/arrow_graph_constructor.py +5 -4
  257. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/arrow_query_runner.py +27 -24
  258. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/cypher_graph_constructor.py +9 -10
  259. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/gds_arrow_client.py +85 -81
  260. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/neo4j_query_runner.py +69 -46
  261. graphdatascience-1.18/src/graphdatascience/query_runner/progress/progress_bar.py +123 -0
  262. graphdatascience-1.18/src/graphdatascience/query_runner/progress/progress_provider.py +23 -0
  263. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/progress/query_progress_logger.py +23 -54
  264. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/progress/query_progress_provider.py +3 -3
  265. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/progress/static_progress_provider.py +1 -3
  266. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/protocol/project_protocols.py +26 -21
  267. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/protocol/write_protocols.py +41 -14
  268. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/query_runner.py +16 -16
  269. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/session_query_runner.py +29 -33
  270. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/standalone_session_query_runner.py +18 -17
  271. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/termination_flag.py +2 -3
  272. graphdatascience-1.18/src/graphdatascience/retry_utils/neo4j_retry_helper.py +12 -0
  273. graphdatascience-1.18/src/graphdatascience/retry_utils/retry_config.py +145 -0
  274. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/semantic_version/semantic_version.py +14 -3
  275. graphdatascience-1.18/src/graphdatascience/server_version/__init__.py +0 -0
  276. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/server_version/compatible_with.py +2 -2
  277. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/server_version/server_version.py +3 -0
  278. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/__init__.py +2 -0
  279. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/aura_api.py +15 -13
  280. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/aura_api_responses.py +7 -7
  281. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/aura_graph_data_science.py +26 -24
  282. graphdatascience-1.18/src/graphdatascience/session/aurads_sessions.py +0 -0
  283. graphdatascience-1.18/src/graphdatascience/session/dbms/__init__.py +0 -0
  284. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/dbms/protocol_resolver.py +2 -4
  285. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/dbms_connection_info.py +5 -6
  286. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/dedicated_sessions.py +18 -18
  287. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/gds_sessions.py +18 -18
  288. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/region_suggester.py +2 -2
  289. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/session_info.py +10 -11
  290. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/session_sizes.py +1 -2
  291. graphdatascience-1.18/src/graphdatascience/session/session_v2_endpoints.py +493 -0
  292. graphdatascience-1.18/src/graphdatascience/system/__init__.py +0 -0
  293. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/system/config_endpoints.py +3 -3
  294. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/system/system_endpoints.py +12 -10
  295. graphdatascience-1.18/src/graphdatascience/topological_lp/__init__.py +0 -0
  296. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/topological_lp/topological_lp_alpha_runner.py +2 -2
  297. graphdatascience-1.18/src/graphdatascience/topological_lp/topological_lp_runner.py +62 -0
  298. graphdatascience-1.18/src/graphdatascience/utils/__init__.py +0 -0
  299. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/utils/util_proc_runner.py +24 -0
  300. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/version.py +1 -1
  301. {graphdatascience-1.17 → graphdatascience-1.18/src/graphdatascience.egg-info}/PKG-INFO +13 -28
  302. graphdatascience-1.18/src/graphdatascience.egg-info/SOURCES.txt +408 -0
  303. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience.egg-info/requires.txt +5 -5
  304. graphdatascience-1.17/MANIFEST.in +0 -9
  305. graphdatascience-1.17/graphdatascience/arrow_client/v2/api_types.py +0 -17
  306. graphdatascience-1.17/graphdatascience/arrow_client/v2/job_client.py +0 -58
  307. graphdatascience-1.17/graphdatascience/arrow_client/v2/mutation_client.py +0 -18
  308. graphdatascience-1.17/graphdatascience/procedure_surface/api/articlerank_endpoints.py +0 -338
  309. graphdatascience-1.17/graphdatascience/procedure_surface/api/articulationpoints_endpoints.py +0 -243
  310. graphdatascience-1.17/graphdatascience/procedure_surface/api/betweenness_endpoints.py +0 -293
  311. graphdatascience-1.17/graphdatascience/procedure_surface/api/catalog/node_label_endpoints.py +0 -113
  312. graphdatascience-1.17/graphdatascience/procedure_surface/api/catalog/node_properties_endpoints.py +0 -176
  313. graphdatascience-1.17/graphdatascience/procedure_surface/api/celf_endpoints.py +0 -318
  314. graphdatascience-1.17/graphdatascience/procedure_surface/api/closeness_endpoints.py +0 -277
  315. graphdatascience-1.17/graphdatascience/procedure_surface/api/closeness_harmonic_endpoints.py +0 -261
  316. graphdatascience-1.17/graphdatascience/procedure_surface/api/degree_endpoints.py +0 -311
  317. graphdatascience-1.17/graphdatascience/procedure_surface/api/eigenvector_endpoints.py +0 -343
  318. graphdatascience-1.17/graphdatascience/procedure_surface/api/fastrp_endpoints.py +0 -359
  319. graphdatascience-1.17/graphdatascience/procedure_surface/api/graph_sampling_endpoints.py +0 -181
  320. graphdatascience-1.17/graphdatascience/procedure_surface/api/graphsage_predict_endpoints.py +0 -230
  321. graphdatascience-1.17/graphdatascience/procedure_surface/api/graphsage_train_endpoints.py +0 -118
  322. graphdatascience-1.17/graphdatascience/procedure_surface/api/hashgnn_endpoints.py +0 -271
  323. graphdatascience-1.17/graphdatascience/procedure_surface/api/k1coloring_endpoints.py +0 -287
  324. graphdatascience-1.17/graphdatascience/procedure_surface/api/kcore_endpoints.py +0 -253
  325. graphdatascience-1.17/graphdatascience/procedure_surface/api/louvain_endpoints.py +0 -370
  326. graphdatascience-1.17/graphdatascience/procedure_surface/api/node2vec_endpoints.py +0 -386
  327. graphdatascience-1.17/graphdatascience/procedure_surface/api/pagerank_endpoints.py +0 -343
  328. graphdatascience-1.17/graphdatascience/procedure_surface/api/scc_endpoints.py +0 -265
  329. graphdatascience-1.17/graphdatascience/procedure_surface/api/wcc_endpoints.py +0 -316
  330. graphdatascience-1.17/graphdatascience/procedure_surface/arrow/articlerank_arrow_endpoints.py +0 -204
  331. graphdatascience-1.17/graphdatascience/procedure_surface/arrow/eigenvector_arrow_endpoints.py +0 -199
  332. graphdatascience-1.17/graphdatascience/procedure_surface/arrow/graphsage_train_arrow_endpoints.py +0 -90
  333. graphdatascience-1.17/graphdatascience/procedure_surface/arrow/kcore_arrow_endpoints.py +0 -138
  334. graphdatascience-1.17/graphdatascience/procedure_surface/arrow/pagerank_arrow_endpoints.py +0 -194
  335. graphdatascience-1.17/graphdatascience/procedure_surface/arrow/scc_arrow_endpoints.py +0 -145
  336. graphdatascience-1.17/graphdatascience/procedure_surface/cypher/catalog_cypher_endpoints.py +0 -197
  337. graphdatascience-1.17/graphdatascience/procedure_surface/cypher/graphsage_train_cypher_endpoints.py +0 -90
  338. graphdatascience-1.17/graphdatascience/procedure_surface/cypher/pagerank_cypher_endpoints.py +0 -219
  339. graphdatascience-1.17/graphdatascience/query_runner/progress/progress_provider.py +0 -18
  340. graphdatascience-1.17/graphdatascience/retry_utils/retry_config.py +0 -12
  341. graphdatascience-1.17/graphdatascience/session/session_v2_endpoints.py +0 -115
  342. graphdatascience-1.17/graphdatascience.egg-info/SOURCES.txt +0 -278
  343. graphdatascience-1.17/pyproject.toml +0 -55
  344. graphdatascience-1.17/requirements/base/base.txt +0 -11
  345. graphdatascience-1.17/requirements/base/networkx.txt +0 -1
  346. graphdatascience-1.17/requirements/base/ogb.txt +0 -1
  347. graphdatascience-1.17/requirements/base/rust-ext.txt +0 -2
  348. graphdatascience-1.17/setup.py +0 -64
  349. {graphdatascience-1.17 → graphdatascience-1.18}/LICENSE +0 -0
  350. {graphdatascience-1.17 → graphdatascience-1.18}/README.md +0 -0
  351. {graphdatascience-1.17 → graphdatascience-1.18}/setup.cfg +0 -0
  352. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/__init__.py +0 -0
  353. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/algo/__init__.py +0 -0
  354. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/algo/algo_endpoints.py +0 -0
  355. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/algo/single_mode_algo_endpoints.py +0 -0
  356. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/arrow_client/__init__.py +0 -0
  357. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/arrow_client/arrow_authentication.py +0 -0
  358. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/arrow_client/arrow_base_model.py +0 -0
  359. {graphdatascience-1.17/graphdatascience/query_runner → graphdatascience-1.18/src/graphdatascience/arrow_client}/arrow_endpoint_version.py +0 -0
  360. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/arrow_client/arrow_info.py +0 -0
  361. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/arrow_client/middleware/__init__.py +0 -0
  362. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/arrow_client/middleware/user_agent_middleware.py +0 -0
  363. {graphdatascience-1.17/graphdatascience/arrow_client/v2 → graphdatascience-1.18/src/graphdatascience/arrow_client/v1}/__init__.py +0 -0
  364. {graphdatascience-1.17/graphdatascience/error → graphdatascience-1.18/src/graphdatascience/arrow_client/v2}/__init__.py +0 -0
  365. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/call_builder.py +0 -0
  366. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/caller_base.py +0 -0
  367. {graphdatascience-1.17/graphdatascience/graph → graphdatascience-1.18/src/graphdatascience/error}/__init__.py +0 -0
  368. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/error/client_only_endpoint.py +0 -0
  369. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/error/endpoint_suggester.py +0 -0
  370. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/error/gds_not_installed.py +0 -0
  371. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/error/illegal_attr_checker.py +0 -0
  372. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/error/unable_to_connect.py +0 -0
  373. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/error/uncallable_namespace.py +0 -0
  374. {graphdatascience-1.17/graphdatascience/model → graphdatascience-1.18/src/graphdatascience/graph}/__init__.py +0 -0
  375. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_endpoints.py +0 -0
  376. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_proc_runner.py +0 -0
  377. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_remote_proc_runner.py +0 -0
  378. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/graph/graph_type_check.py +0 -0
  379. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/ignored_server_endpoints.py +0 -0
  380. {graphdatascience-1.17/graphdatascience/model/v2 → graphdatascience-1.18/src/graphdatascience/model}/__init__.py +0 -0
  381. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/link_prediction_model.py +0 -0
  382. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/model.py +0 -0
  383. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/model_alpha_proc_runner.py +0 -0
  384. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/model_endpoints.py +0 -0
  385. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/model_resolver.py +0 -0
  386. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/node_regression_model.py +0 -0
  387. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/pipeline_model.py +0 -0
  388. {graphdatascience-1.17/graphdatascience/pipeline → graphdatascience-1.18/src/graphdatascience/model/v2}/__init__.py +0 -0
  389. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/v2/graphsage_model.py +0 -0
  390. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/model/v2/model_details.py +0 -0
  391. {graphdatascience-1.17/graphdatascience/procedure_surface → graphdatascience-1.18/src/graphdatascience/pipeline}/__init__.py +0 -0
  392. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/nc_pipeline_create_runner.py +0 -0
  393. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/pipeline_alpha_proc_runner.py +0 -0
  394. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/pipeline/pipeline_endpoints.py +0 -0
  395. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/api/base_result.py +0 -0
  396. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/procedure_surface/api/estimation_result.py +0 -0
  397. {graphdatascience-1.17/graphdatascience/procedure_surface/api → graphdatascience-1.18/src/graphdatascience/procedure_surface/api/model}/__init__.py +0 -0
  398. {graphdatascience-1.17/graphdatascience/procedure_surface/api/catalog → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow}/__init__.py +0 -0
  399. {graphdatascience-1.17/graphdatascience/procedure_surface/api/model → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/centrality}/__init__.py +0 -0
  400. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/community}/__init__.py +0 -0
  401. {graphdatascience-1.17/graphdatascience/procedure_surface/arrow/catalog → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/node_embedding}/__init__.py +0 -0
  402. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/pathfinding}/__init__.py +0 -0
  403. {graphdatascience-1.17/graphdatascience/procedure_surface/cypher/catalog → graphdatascience-1.18/src/graphdatascience/procedure_surface/arrow/similarity}/__init__.py +0 -0
  404. {graphdatascience-1.17/graphdatascience/procedure_surface/utils → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/catalog}/__init__.py +0 -0
  405. {graphdatascience-1.17/graphdatascience/query_runner → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/centrality}/__init__.py +0 -0
  406. {graphdatascience-1.17/graphdatascience/query_runner/progress → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/community}/__init__.py +0 -0
  407. {graphdatascience-1.17/graphdatascience/query_runner/protocol → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/node_embedding}/__init__.py +0 -0
  408. {graphdatascience-1.17/graphdatascience/resources → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/pathfinding}/__init__.py +0 -0
  409. {graphdatascience-1.17/graphdatascience/resources/cora → graphdatascience-1.18/src/graphdatascience/procedure_surface/cypher/similarity}/__init__.py +0 -0
  410. {graphdatascience-1.17/graphdatascience/resources/imdb → graphdatascience-1.18/src/graphdatascience/procedure_surface/utils}/__init__.py +0 -0
  411. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/py.typed +0 -0
  412. {graphdatascience-1.17/graphdatascience/resources/karate → graphdatascience-1.18/src/graphdatascience/query_runner}/__init__.py +0 -0
  413. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/arrow_authentication/__init__.py +0 -0
  414. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/arrow_info/__init__.py +0 -0
  415. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/graph_constructor.py +0 -0
  416. {graphdatascience-1.17/graphdatascience/resources/lastfm → graphdatascience-1.18/src/graphdatascience/query_runner/progress}/__init__.py +0 -0
  417. {graphdatascience-1.17/graphdatascience/retry_utils → graphdatascience-1.18/src/graphdatascience/query_runner/protocol}/__init__.py +0 -0
  418. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/protocol/status.py +0 -0
  419. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/query_runner/query_mode.py +0 -0
  420. {graphdatascience-1.17/graphdatascience/semantic_version → graphdatascience-1.18/src/graphdatascience/resources}/__init__.py +0 -0
  421. {graphdatascience-1.17/graphdatascience/server_version → graphdatascience-1.18/src/graphdatascience/resources/cora}/__init__.py +0 -0
  422. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/cora/cora_nodes.parquet.gzip +0 -0
  423. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/cora/cora_rels.parquet.gzip +0 -0
  424. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/cora/serialize_cora.py +0 -0
  425. {graphdatascience-1.17/graphdatascience/session/dbms → graphdatascience-1.18/src/graphdatascience/resources/imdb}/__init__.py +0 -0
  426. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/imdb/imdb_acted_in.parquet.gzip +0 -0
  427. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/imdb/imdb_actors.parquet.gzip +0 -0
  428. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/imdb/imdb_directed_in.parquet.gzip +0 -0
  429. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/imdb/imdb_directors.parquet.gzip +0 -0
  430. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/imdb/imdb_movies_with_genre.parquet.gzip +0 -0
  431. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/imdb/imdb_movies_without_genre.parquet.gzip +0 -0
  432. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/imdb/serialize_imdb.py +0 -0
  433. {graphdatascience-1.17/graphdatascience/system → graphdatascience-1.18/src/graphdatascience/resources/karate}/__init__.py +0 -0
  434. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/karate/karate_club.parquet.gzip +0 -0
  435. {graphdatascience-1.17/graphdatascience/topological_lp → graphdatascience-1.18/src/graphdatascience/resources/lastfm}/__init__.py +0 -0
  436. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/lastfm/artist_nodes.parquet.gzip +0 -0
  437. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/lastfm/serialize_lastfm.py +0 -0
  438. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/lastfm/user_friend_df_directed.parquet.gzip +0 -0
  439. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/lastfm/user_listen_artist_rels.parquet.gzip +0 -0
  440. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/lastfm/user_nodes.parquet.gzip +0 -0
  441. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/resources/lastfm/user_tag_artist_rels.parquet.gzip +0 -0
  442. {graphdatascience-1.17/graphdatascience/utils → graphdatascience-1.18/src/graphdatascience/retry_utils}/__init__.py +0 -0
  443. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/retry_utils/retry_utils.py +0 -0
  444. /graphdatascience-1.17/graphdatascience/session/aurads_sessions.py → /graphdatascience-1.18/src/graphdatascience/semantic_version/__init__.py +0 -0
  445. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/algorithm_category.py +0 -0
  446. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/aura_api_token_authentication.py +0 -0
  447. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/cloud_location.py +0 -0
  448. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/session/dbms/protocol_version.py +0 -0
  449. /graphdatascience-1.17/graphdatascience/topological_lp/topological_lp_endpoints.py → /graphdatascience-1.18/src/graphdatascience/topological_lp/topological_lp_alpha_endpoints.py +0 -0
  450. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/utils/direct_util_endpoints.py +0 -0
  451. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/utils/util_node_property_func_runner.py +0 -0
  452. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience/utils/util_remote_proc_runner.py +0 -0
  453. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience.egg-info/dependency_links.txt +0 -0
  454. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience.egg-info/not-zip-safe +0 -0
  455. {graphdatascience-1.17 → graphdatascience-1.18/src}/graphdatascience.egg-info/top_level.txt +0 -0
@@ -0,0 +1,3 @@
1
+ prune graphdatascience/resources/cora/serialize_cora.py
2
+ prune graphdatascience/resources/imdb/serialize_imdb.py
3
+ prune graphdatascience/resources/lastfm/serialize_lastfm.py
@@ -1,22 +1,19 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphdatascience
3
- Version: 1.17
3
+ Version: 1.18
4
4
  Summary: A Python client for the Neo4j Graph Data Science (GDS) library
5
- Home-page: https://neo4j.com/product/graph-data-science/
6
- Author: Neo4j
7
- Author-email: team-gds@neo4j.org
8
- License: Apache License 2.0
5
+ Author-email: Neo4j <team-gds@neo4j.org>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://neo4j.com/product/graph-data-science/
9
8
  Project-URL: Documentation, https://neo4j.com/docs/graph-data-science-client/current/
10
- Project-URL: Source, https://github.com/neo4j/graph-data-science-client
11
- Project-URL: Bug Tracker, https://github.com/neo4j/graph-data-science-client/issues
9
+ Project-URL: Repository, https://github.com/neo4j/graph-data-science-client
10
+ Project-URL: BugTracker, https://github.com/neo4j/graph-data-science-client/issues
12
11
  Classifier: Development Status :: 5 - Production/Stable
13
12
  Classifier: Intended Audience :: Developers
14
13
  Classifier: Intended Audience :: Science/Research
15
- Classifier: License :: OSI Approved :: Apache Software License
16
14
  Classifier: Operating System :: OS Independent
17
15
  Classifier: Programming Language :: Python :: 3
18
16
  Classifier: Programming Language :: Python :: 3 :: Only
19
- Classifier: Programming Language :: Python :: 3.9
20
17
  Classifier: Programming Language :: Python :: 3.10
21
18
  Classifier: Programming Language :: Python :: 3.11
22
19
  Classifier: Programming Language :: Python :: 3.12
@@ -25,39 +22,27 @@ Classifier: Topic :: Database
25
22
  Classifier: Topic :: Scientific/Engineering
26
23
  Classifier: Topic :: Software Development
27
24
  Classifier: Typing :: Typed
28
- Requires-Python: >=3.9
25
+ Requires-Python: >=3.10
29
26
  Description-Content-Type: text/markdown
30
27
  License-File: LICENSE
31
28
  Requires-Dist: multimethod<3.0,>=1.0
32
- Requires-Dist: neo4j<6.0,>=4.4.12
33
- Requires-Dist: numpy<2.3
29
+ Requires-Dist: neo4j<7.0,>=4.4.12
30
+ Requires-Dist: numpy<2.4
34
31
  Requires-Dist: pandas<3.0,>=1.0
35
- Requires-Dist: pyarrow<21.0,>=17.0
32
+ Requires-Dist: pyarrow<23.0,>=17.0
36
33
  Requires-Dist: textdistance<5.0,>=4.0
37
34
  Requires-Dist: tqdm<5.0,>=4.0
38
35
  Requires-Dist: typing-extensions<5.0,>=4.0
39
36
  Requires-Dist: requests
40
37
  Requires-Dist: tenacity>=9.0
41
38
  Requires-Dist: pydantic>=2.11
42
- Provides-Extra: ogb
43
- Requires-Dist: ogb<2.0,>=1.0; extra == "ogb"
44
39
  Provides-Extra: networkx
45
40
  Requires-Dist: networkx<4.0,>=2.0; extra == "networkx"
41
+ Provides-Extra: ogb
42
+ Requires-Dist: ogb<2.0,>=1.0; extra == "ogb"
46
43
  Provides-Extra: rust-ext
47
- Requires-Dist: neo4j-rust-ext<6.0,>=4.4.12; extra == "rust-ext"
48
- Dynamic: author
49
- Dynamic: author-email
50
- Dynamic: classifier
51
- Dynamic: description
52
- Dynamic: description-content-type
53
- Dynamic: home-page
54
- Dynamic: license
44
+ Requires-Dist: neo4j-rust-ext<7.0,>=4.4.12; extra == "rust-ext"
55
45
  Dynamic: license-file
56
- Dynamic: project-url
57
- Dynamic: provides-extra
58
- Dynamic: requires-dist
59
- Dynamic: requires-python
60
- Dynamic: summary
61
46
 
62
47
  # Neo4j Graph Data Science Client
63
48
 
@@ -0,0 +1,175 @@
1
+ [build-system]
2
+ requires = ["setuptools>=42", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "graphdatascience"
7
+ description = "A Python client for the Neo4j Graph Data Science (GDS) library"
8
+ dynamic = ["version"]
9
+ authors = [{ name = "Neo4j", email = "team-gds@neo4j.org" }]
10
+ readme = "README.md"
11
+ license = "Apache-2.0"
12
+ classifiers = [
13
+ "Development Status :: 5 - Production/Stable",
14
+ "Intended Audience :: Developers",
15
+ "Intended Audience :: Science/Research",
16
+ "Operating System :: OS Independent",
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: 3 :: Only",
19
+ "Programming Language :: Python :: 3.10",
20
+ "Programming Language :: Python :: 3.11",
21
+ "Programming Language :: Python :: 3.12",
22
+ "Programming Language :: Python :: 3.13",
23
+ "Topic :: Database",
24
+ "Topic :: Scientific/Engineering",
25
+ "Topic :: Software Development",
26
+ "Typing :: Typed",
27
+ ]
28
+ requires-python = ">=3.10"
29
+ dependencies = [
30
+ "multimethod >= 1.0, < 3.0",
31
+ "neo4j >= 4.4.12, < 7.0",
32
+ "numpy < 2.4",
33
+ "pandas >= 1.0, < 3.0",
34
+ "pyarrow >= 17.0, < 23.0",
35
+ "textdistance >= 4.0, < 5.0",
36
+ "tqdm >= 4.0, < 5.0",
37
+ "typing-extensions >= 4.0, < 5.0",
38
+ "requests",
39
+ "tenacity >= 9.0",
40
+ "pydantic >= 2.11",
41
+ ]
42
+
43
+ [project.urls]
44
+ Homepage = "https://neo4j.com/product/graph-data-science/"
45
+ Documentation = "https://neo4j.com/docs/graph-data-science-client/current/"
46
+ Repository = "https://github.com/neo4j/graph-data-science-client"
47
+ BugTracker = "https://github.com/neo4j/graph-data-science-client/issues"
48
+
49
+ [project.optional-dependencies]
50
+ networkx = ["networkx >= 2.0, < 4.0"]
51
+ ogb = ["ogb >= 1.0, < 2.0"]
52
+ rust-ext = ["neo4j-rust-ext >= 4.4.12, < 7.0"]
53
+
54
+
55
+ [dependency-groups]
56
+ # To install all development dependencies,
57
+ # run `pip install --group dev -e .` inside repository root folder.#
58
+ dev = [
59
+ "tox>4.24",
60
+ { include-group = "dev-base" },
61
+ { include-group = "test" },
62
+ { include-group = "docs-ci" },
63
+ ]
64
+
65
+
66
+ dev-base = [
67
+ "ruff == 0.11.7",
68
+ "mypy == 1.13.0",
69
+ "nbconvert == 7.16.4",
70
+ "pandas-stubs == 2.2.3.241009",
71
+ "tox == 4.30.2",
72
+ "types-setuptools == 75.8.0.20250110",
73
+ "enum-tools[sphinx] == 0.12.0",
74
+ "autodoc_pydantic",
75
+ "types-requests",
76
+ "types-tqdm",
77
+ "types-python-dateutil",
78
+ "python-dotenv==1.1.0",
79
+ "types-colorama",
80
+ ]
81
+ test = [
82
+ "pytest == 8.3.3",
83
+ "requests_mock == 1.11.0",
84
+ "pytest_mock == 3.15.1",
85
+ "testcontainers >= 4.0, < 4.13.0",
86
+ "python-dateutil >= 2.9",
87
+ ]
88
+ docs-ci = [
89
+ "sphinx == 7.3.7",
90
+ "enum-tools[sphinx] == 0.12.0",
91
+ "autodoc_pydantic",
92
+ ]
93
+ notebook-base = [
94
+ "nbconvert==7.16.4",
95
+ "nbformat==5.10.4",
96
+ "nbclient==0.10.2",
97
+ "ipykernel==6.29.5",
98
+ ]
99
+ notebook-aura-ci = [{ include-group = "notebook-base" }, "python-dotenv==1.1.0"]
100
+ notebook-ci = [
101
+ { include-group = "notebook-base" },
102
+ "scipy == 1.14.0",
103
+ "torch==2.3.0",
104
+ "torch-scatter==2.1.1",
105
+ "torch-sparse==0.6.17",
106
+ "torch-geometric>=2.5.0",
107
+ ]
108
+
109
+ publish = ["build", "twine"]
110
+
111
+
112
+ [tool.setuptools]
113
+ include-package-data = true
114
+ zip-safe = false
115
+
116
+ [tool.setuptools.packages.find]
117
+ where = ["src"]
118
+ include = ["graphdatascience*"]
119
+
120
+ [tool.setuptools.dynamic]
121
+ version = { attr = "graphdatascience.version.__version__" }
122
+
123
+ [tool.setuptools.package-data]
124
+ graphdatascience = ["py.typed", "resources/**/*.gzip"]
125
+
126
+ [tool.ruff]
127
+ line-length = 120
128
+
129
+ include = ["*.py", "*.ipynb"]
130
+
131
+ exclude = [
132
+ # default
133
+
134
+ ".bzr",
135
+ ".direnv",
136
+ ".eggs",
137
+ ".git",
138
+ ".git-rewrite",
139
+ ".hg",
140
+ ".ipynb_checkpoints",
141
+ ".mypy_cache",
142
+ ".nox",
143
+ ".pants.d",
144
+ ".pyenv",
145
+ ".pytest_cache",
146
+ ".pytype",
147
+ ".ruff_cache",
148
+ ".svn",
149
+ ".tox",
150
+ ".venv",
151
+ ".vscode",
152
+ "__pypackages__",
153
+ "_build",
154
+ "buck-out",
155
+ "build",
156
+ "dist",
157
+ "node_modules",
158
+ "site-packages",
159
+ "venv",
160
+
161
+ # custom
162
+ "venv*",
163
+ ".venv*",
164
+ ".tox",
165
+ "build",
166
+ ]
167
+
168
+ [tool.ruff.lint]
169
+ select = [
170
+ "E4",
171
+ "E7",
172
+ "E9", # default pycodestyle rules
173
+ "F", # flake8
174
+ "I", # isort
175
+ ]
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from abc import ABC
2
4
  from typing import Any
3
5
 
@@ -19,7 +21,7 @@ class AlgoProcRunner(IllegalAttrChecker, ABC):
19
21
  return self._query_runner.call_procedure(endpoint=self._namespace, params=params, logging=with_logging)
20
22
 
21
23
  @graph_type_check
22
- def estimate(self, G: Graph, **config: Any) -> "Series[Any]":
24
+ def estimate(self, G: Graph, **config: Any) -> Series[Any]:
23
25
  self._namespace += "." + "estimate"
24
26
  return self._run_procedure(G, config, with_logging=False).squeeze() # type: ignore
25
27
 
@@ -30,13 +32,13 @@ class StreamModeRunner(AlgoProcRunner):
30
32
 
31
33
 
32
34
  class StandardModeRunner(AlgoProcRunner):
33
- def __call__(self, G: Graph, **config: Any) -> "Series[Any]":
35
+ def __call__(self, G: Graph, **config: Any) -> Series[Any]:
34
36
  return self._run_procedure(G, config).squeeze() # type: ignore
35
37
 
36
38
 
37
39
  class GraphSageRunner(AlgoProcRunner):
38
40
  @graph_type_check
39
- def __call__(self, G: Graph, **config: Any) -> tuple[GraphSageModel, "Series[Any]"]:
41
+ def __call__(self, G: Graph, **config: Any) -> tuple[GraphSageModel, Series[Any]]:
40
42
  result = self._run_procedure(G, config).squeeze()
41
43
  model_name = result["modelInfo"]["modelName"]
42
44
 
@@ -2,13 +2,17 @@ from __future__ import annotations
2
2
 
3
3
  import json
4
4
  import logging
5
+ import platform
5
6
  from dataclasses import dataclass
6
- from typing import Any, Iterator, Optional, Tuple, Union
7
+ from types import TracebackType
8
+ from typing import Any, Iterator, Type
7
9
 
10
+ import certifi
11
+ from pyarrow import Schema, flight
8
12
  from pyarrow import __version__ as arrow_version
9
- from pyarrow import flight
10
13
  from pyarrow._flight import (
11
14
  Action,
15
+ ActionType,
12
16
  FlightInternalError,
13
17
  FlightStreamReader,
14
18
  FlightTimedOutError,
@@ -16,13 +20,11 @@ from pyarrow._flight import (
16
20
  Result,
17
21
  Ticket,
18
22
  )
19
- from tenacity import retry, retry_any, retry_if_exception_type, stop_after_attempt, stop_after_delay, wait_exponential
20
23
 
21
24
  from graphdatascience.arrow_client.arrow_authentication import ArrowAuthentication
22
25
  from graphdatascience.arrow_client.arrow_info import ArrowInfo
23
- from graphdatascience.retry_utils.retry_config import RetryConfig
26
+ from graphdatascience.retry_utils.retry_config import ExponentialWaitConfig, RetryConfigV2, StopConfig
24
27
 
25
- from ..retry_utils.retry_utils import before_log
26
28
  from ..version import __version__
27
29
  from .middleware.auth_middleware import AuthFactory, AuthMiddleware
28
30
  from .middleware.user_agent_middleware import UserAgentFactory
@@ -32,12 +34,12 @@ class AuthenticatedArrowClient:
32
34
  @staticmethod
33
35
  def create(
34
36
  arrow_info: ArrowInfo,
35
- auth: Optional[ArrowAuthentication] = None,
37
+ auth: ArrowAuthentication | None = None,
36
38
  encrypted: bool = False,
37
- arrow_client_options: Optional[dict[str, Any]] = None,
38
- connection_string_override: Optional[str] = None,
39
- retry_config: Optional[RetryConfig] = None,
40
- advertised_listen_address: Optional[Tuple[str, int]] = None,
39
+ arrow_client_options: dict[str, Any] | None = None,
40
+ connection_string_override: str | None = None,
41
+ retry_config: RetryConfigV2 | None = None,
42
+ advertised_listen_address: tuple[str, int] | None = None,
41
43
  ) -> AuthenticatedArrowClient:
42
44
  connection_string: str
43
45
  if connection_string_override is not None:
@@ -48,14 +50,14 @@ class AuthenticatedArrowClient:
48
50
  host, port = connection_string.split(":")
49
51
 
50
52
  if retry_config is None:
51
- retry_config = RetryConfig(
52
- retry=retry_any(
53
- retry_if_exception_type(FlightTimedOutError),
54
- retry_if_exception_type(FlightUnavailableError),
55
- retry_if_exception_type(FlightInternalError),
56
- ),
57
- stop=(stop_after_delay(10) | stop_after_attempt(5)),
58
- wait=wait_exponential(multiplier=1, min=1, max=10),
53
+ retry_config = RetryConfigV2(
54
+ retryable_exceptions=[
55
+ FlightTimedOutError,
56
+ FlightUnavailableError,
57
+ FlightInternalError,
58
+ ],
59
+ stop_config=StopConfig(after_delay=10, after_attempt=5),
60
+ wait_config=ExponentialWaitConfig(multiplier=1, min=1, max=10),
59
61
  )
60
62
 
61
63
  return AuthenticatedArrowClient(
@@ -71,15 +73,15 @@ class AuthenticatedArrowClient:
71
73
  def __init__(
72
74
  self,
73
75
  host: str,
74
- retry_config: RetryConfig,
76
+ retry_config: RetryConfigV2,
75
77
  port: int = 8491,
76
- auth: Optional[ArrowAuthentication] = None,
78
+ auth: ArrowAuthentication | None = None,
77
79
  encrypted: bool = False,
78
- arrow_client_options: Optional[dict[str, Any]] = None,
79
- user_agent: Optional[str] = None,
80
- advertised_listen_address: Optional[Tuple[str, int]] = None,
80
+ arrow_client_options: dict[str, Any] | None = None,
81
+ user_agent: str | None = None,
82
+ advertised_listen_address: tuple[str, int] | None = None,
81
83
  ):
82
- """Creates a new GdsArrowClient instance.
84
+ """Creates a new AuthenticatedArrowClient instance.
83
85
 
84
86
  Parameters
85
87
  ----------
@@ -87,17 +89,17 @@ class AuthenticatedArrowClient:
87
89
  The host address of the GDS Arrow server
88
90
  port: int
89
91
  The host port of the GDS Arrow server (default is 8491)
90
- auth: Optional[ArrowAuthentication]
92
+ auth: ArrowAuthentication | None
91
93
  An implementation of ArrowAuthentication providing a pair to be used for basic authentication
92
94
  encrypted: bool
93
95
  A flag that indicates whether the connection should be encrypted (default is False)
94
- arrow_client_options: Optional[dict[str, Any]]
96
+ arrow_client_options: dict[str, Any] | None
95
97
  Additional options to be passed to the Arrow Flight client.
96
- user_agent: Optional[str]
98
+ user_agent: str | None
97
99
  The user agent string to use for the connection. (default is `neo4j-graphdatascience-v[VERSION] pyarrow-v[PYARROW_VERSION])
98
- retry_config: Optional[RetryConfig]
100
+ retry_config: RetryConfig | None
99
101
  The retry configuration to use for the Arrow requests send by the client.
100
- advertised_listen_address: Optional[Tuple[str, int]]
102
+ advertised_listen_address: tuple[str, int] | None
101
103
  The advertised listen address of the GDS Arrow server. This will be used by remote projection and writeback operations.
102
104
  """
103
105
  self._host = host
@@ -106,7 +108,6 @@ class AuthenticatedArrowClient:
106
108
  self._encrypted = encrypted
107
109
  self._arrow_client_options = arrow_client_options
108
110
  self._user_agent = user_agent
109
- self._retry_config = retry_config
110
111
  self._logger = logging.getLogger("gds_arrow_client")
111
112
  self._retry_config = retry_config
112
113
  if auth:
@@ -114,7 +115,7 @@ class AuthenticatedArrowClient:
114
115
  self._auth_middleware = AuthMiddleware(auth)
115
116
  self.advertised_listen_address = advertised_listen_address
116
117
 
117
- self._flight_client = self._instantiate_flight_client()
118
+ self._flight_client: flight.FlightClient = self._instantiate_flight_client()
118
119
 
119
120
  def connection_info(self) -> ConnectionInfo:
120
121
  """
@@ -122,7 +123,7 @@ class AuthenticatedArrowClient:
122
123
 
123
124
  Returns
124
125
  -------
125
- tuple[str, int]
126
+ ConnectionInfo
126
127
  the host and port of the GDS Arrow server
127
128
  """
128
129
  return ConnectionInfo(self._host, self._port, self._encrypted)
@@ -142,23 +143,17 @@ class AuthenticatedArrowClient:
142
143
  h, p = self.advertised_listen_address
143
144
  return ConnectionInfo(h, p, self._encrypted)
144
145
 
145
- def request_token(self) -> Optional[str]:
146
+ def request_token(self) -> str | None:
146
147
  """
147
148
  Requests a token from the server and returns it.
148
149
 
149
150
  Returns
150
151
  -------
151
- Optional[str]
152
+ str | None
152
153
  a token from the server and returns it.
153
154
  """
154
155
 
155
- @retry(
156
- reraise=True,
157
- before=before_log("Request token", self._logger, logging.DEBUG),
158
- retry=self._retry_config.retry,
159
- stop=self._retry_config.stop,
160
- wait=self._retry_config.wait,
161
- )
156
+ @self._retry_config.decorator(operation_name="Request token", logger=self._logger)
162
157
  def auth_with_retry() -> None:
163
158
  client = self._flight_client
164
159
  if self._auth:
@@ -174,24 +169,47 @@ class AuthenticatedArrowClient:
174
169
  def get_stream(self, ticket: Ticket) -> FlightStreamReader:
175
170
  return self._flight_client.do_get(ticket)
176
171
 
177
- def do_action(self, endpoint: str, payload: Union[bytes, dict[str, Any]]) -> Iterator[Result]:
172
+ def do_action(self, endpoint: str, payload: bytes | dict[str, Any]) -> Iterator[Result]:
178
173
  payload_bytes = payload if isinstance(payload, bytes) else json.dumps(payload).encode("utf-8")
179
174
 
180
175
  return self._flight_client.do_action(Action(endpoint, payload_bytes)) # type: ignore
181
176
 
182
- def do_action_with_retry(self, endpoint: str, payload: Union[bytes, dict[str, Any]]) -> Iterator[Result]:
183
- @retry(
184
- reraise=True,
185
- before=before_log("Send action", self._logger, logging.DEBUG),
186
- retry=self._retry_config.retry,
187
- stop=self._retry_config.stop,
188
- wait=self._retry_config.wait,
189
- )
190
- def run_with_retry() -> Iterator[Result]:
191
- return self.do_action(endpoint, payload)
177
+ def do_action_with_retry(self, endpoint: str, payload: bytes | dict[str, Any]) -> list[Result]:
178
+ @self._retry_config.decorator(operation_name="Send action", logger=self._logger)
179
+ def run_with_retry() -> list[Result]:
180
+ # the Flight response error code is only checked on iterator consumption
181
+ # we eagerly collect iterator here to trigger retry in case of an error
182
+ return list(self.do_action(endpoint, payload))
183
+
184
+ return run_with_retry()
185
+
186
+ def list_actions(self) -> set[ActionType]:
187
+ return self._flight_client.list_actions() # type: ignore
188
+
189
+ def do_put_with_retry(
190
+ self, descriptor: flight.FlightDescriptor, schema: Schema
191
+ ) -> tuple[flight.FlightStreamWriter, flight.FlightMetadataReader]:
192
+ @self._retry_config.decorator(operation_name="Do put", logger=self._logger)
193
+ def run_with_retry() -> tuple[flight.FlightStreamWriter, flight.FlightMetadataReader]:
194
+ return self._flight_client.do_put(descriptor, schema) # type: ignore
192
195
 
193
196
  return run_with_retry()
194
197
 
198
+ def __enter__(self) -> AuthenticatedArrowClient:
199
+ return self
200
+
201
+ def __exit__(
202
+ self,
203
+ exception_type: Type[BaseException] | None,
204
+ exception_value: BaseException | None,
205
+ traceback: TracebackType | None,
206
+ ) -> None:
207
+ self.close()
208
+
209
+ def close(self) -> None:
210
+ if self._flight_client:
211
+ self._flight_client.close()
212
+
195
213
  def _instantiate_flight_client(self) -> flight.FlightClient:
196
214
  location = (
197
215
  flight.Location.for_grpc_tls(self._host, self._port)
@@ -199,6 +217,12 @@ class AuthenticatedArrowClient:
199
217
  else flight.Location.for_grpc_tcp(self._host, self._port)
200
218
  )
201
219
  client_options: dict[str, Any] = (self._arrow_client_options or {}).copy()
220
+
221
+ # We need to specify the system root certificates on Windows
222
+ if platform.system() == "Windows":
223
+ if not client_options["tls_root_certs"]:
224
+ client_options["tls_root_certs"] = certifi.contents()
225
+
202
226
  if self._auth:
203
227
  user_agent = f"neo4j-graphdatascience-v{__version__} pyarrow-v{arrow_version}"
204
228
  if self._user_agent:
@@ -211,6 +235,17 @@ class AuthenticatedArrowClient:
211
235
 
212
236
  return flight.FlightClient(location, **client_options)
213
237
 
238
+ def __getstate__(self) -> dict[str, Any]:
239
+ state = self.__dict__.copy()
240
+ # Remove the FlightClient as it isn't serializable
241
+ if "_flight_client" in state:
242
+ del state["_flight_client"]
243
+ return state
244
+
245
+ def __setstate__(self, state: dict[str, Any]) -> None:
246
+ self.__dict__.update(state)
247
+ self._flight_client = self._instantiate_flight_client()
248
+
214
249
 
215
250
  @dataclass
216
251
  class ConnectionInfo:
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import base64
4
4
  import time
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
 
7
7
  from pyarrow._flight import ClientMiddleware, ClientMiddlewareFactory
8
8
 
@@ -22,10 +22,10 @@ class AuthMiddleware(ClientMiddleware): # type: ignore
22
22
  def __init__(self, auth: ArrowAuthentication, *args: Any, **kwargs: Any) -> None:
23
23
  super().__init__(*args, **kwargs)
24
24
  self._auth = auth
25
- self._token: Optional[str] = None
25
+ self._token: str | None = None
26
26
  self._token_timestamp = 0
27
27
 
28
- def token(self) -> Optional[str]:
28
+ def token(self) -> str | None:
29
29
  # check whether the token is older than 10 minutes. If so, reset it.
30
30
  if self._token and int(time.time()) - self._token_timestamp > 600:
31
31
  self._token = None
@@ -1,10 +1,10 @@
1
1
  import json
2
- from typing import Any, Iterator
2
+ from typing import Any
3
3
 
4
4
  from pyarrow._flight import Result
5
5
 
6
6
 
7
- def deserialize_single(input_stream: Iterator[Result]) -> dict[str, Any]:
7
+ def deserialize_single(input_stream: list[Result]) -> dict[str, Any]:
8
8
  rows = deserialize(input_stream)
9
9
  if len(rows) != 1:
10
10
  raise ValueError(f"Expected exactly one result, got {len(rows)}")
@@ -12,8 +12,8 @@ def deserialize_single(input_stream: Iterator[Result]) -> dict[str, Any]:
12
12
  return rows[0]
13
13
 
14
14
 
15
- def deserialize(input_stream: Iterator[Result]) -> list[dict[str, Any]]:
15
+ def deserialize(input_stream: list[Result]) -> list[dict[str, Any]]:
16
16
  def deserialize_row(row: Result): # type:ignore
17
17
  return json.loads(row.body.to_pybytes().decode())
18
18
 
19
- return [deserialize_row(row) for row in list(input_stream)]
19
+ return [deserialize_row(row) for row in input_stream]