graphdatascience 1.21a2__tar.gz → 2.0a1__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 (540) hide show
  1. {graphdatascience-1.21a2/src/graphdatascience.egg-info → graphdatascience-2.0a1}/PKG-INFO +5 -5
  2. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/pyproject.toml +24 -7
  3. graphdatascience-2.0a1/src/graphdatascience/__init__.py +11 -0
  4. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_info.py +4 -6
  5. graphdatascience-2.0a1/src/graphdatascience/arrow_client/arrow_table_utils.py +38 -0
  6. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/authenticated_flight_client.py +59 -66
  7. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/middleware/auth_middleware.py +1 -1
  8. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/middleware/user_agent_middleware.py +1 -1
  9. {graphdatascience-1.21a2/src/graphdatascience/arrow_client/v2 → graphdatascience-2.0a1/src/graphdatascience/arrow_client/v1}/data_mapper_utils.py +1 -1
  10. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/v1/gds_arrow_client.py +5 -7
  11. {graphdatascience-1.21a2/src/graphdatascience/arrow_client/v1 → graphdatascience-2.0a1/src/graphdatascience/arrow_client/v2}/data_mapper_utils.py +1 -1
  12. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/v2/gds_arrow_client.py +49 -26
  13. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/v2/job_client.py +16 -3
  14. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/v2/mutation_client.py +21 -1
  15. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/datasets/graph_constructor_func.py +2 -2
  16. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/datasets/nx_loader.py +3 -3
  17. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/datasets/ogb_loader.py +5 -5
  18. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/datasets/simple_file_loader.py +0 -11
  19. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/error/cypher_warning_handler.py +6 -3
  20. graphdatascience-2.0a1/src/graphdatascience/error/standalone_session_error.py +3 -0
  21. graphdatascience-2.0a1/src/graphdatascience/graph/__init__.py +3 -0
  22. {graphdatascience-1.21a2/src/graphdatascience/graph/v2 → graphdatascience-2.0a1/src/graphdatascience/graph}/graph_api.py +3 -3
  23. {graphdatascience-1.21a2/src/graphdatascience/graph/v2 → graphdatascience-2.0a1/src/graphdatascience/graph}/graph_backend_cypher.py +4 -3
  24. graphdatascience-1.21a2/src/graphdatascience/query_runner/arrow_graph_constructor.py → graphdatascience-2.0a1/src/graphdatascience/graph_construction/arrow_v1_graph_constructor.py +16 -24
  25. graphdatascience-2.0a1/src/graphdatascience/graph_construction/arrow_v2_graph_constructor.py +102 -0
  26. {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience/graph_construction}/cypher_graph_constructor.py +28 -143
  27. graphdatascience-1.21a2/src/graphdatascience/plugin_v2_endpoints.py → graphdatascience-2.0a1/src/graphdatascience/graph_data_science.py +419 -65
  28. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/ignored_server_endpoints.py +0 -6
  29. {graphdatascience-1.21a2/src/graphdatascience/model/v2 → graphdatascience-2.0a1/src/graphdatascience/model}/model.py +3 -7
  30. {graphdatascience-1.21a2/src/graphdatascience/model/v2 → graphdatascience-2.0a1/src/graphdatascience/model}/model_api.py +1 -1
  31. {graphdatascience-1.21a2/src/graphdatascience/model/v2 → graphdatascience-2.0a1/src/graphdatascience/model}/model_details.py +4 -4
  32. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/__init__.py +12 -0
  33. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/__init__.py +3 -1
  34. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/catalog_endpoints.py +45 -24
  35. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/dataset_endpoints.py +13 -12
  36. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/graph_sampling_endpoints.py +12 -6
  37. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/node_label_endpoints.py +3 -3
  38. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/node_properties_endpoints.py +6 -6
  39. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/catalog/relationships_data_frame.py +47 -0
  40. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/relationships_endpoints.py +20 -16
  41. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/scale_properties_endpoints.py +6 -6
  42. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/articlerank_endpoints.py +6 -6
  43. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/articulationpoints_endpoints.py +6 -6
  44. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/betweenness_endpoints.py +6 -6
  45. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/bridges_endpoints.py +3 -3
  46. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/celf_endpoints.py +6 -6
  47. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/closeness_endpoints.py +6 -6
  48. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/closeness_harmonic_endpoints.py +6 -6
  49. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/degree_endpoints.py +6 -6
  50. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/eigenvector_endpoints.py +6 -6
  51. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/pagerank_endpoints.py +6 -6
  52. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/collapse_path_endpoints.py +57 -0
  53. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/__init__.py +2 -0
  54. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/clique_counting_endpoints.py +6 -6
  55. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/conductance_endpoints.py +2 -2
  56. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/hdbscan_endpoints.py +6 -6
  57. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/k1coloring_endpoints.py +6 -6
  58. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/kcore_endpoints.py +6 -6
  59. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/kmeans_endpoints.py +6 -6
  60. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/labelpropagation_endpoints.py +6 -6
  61. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/leiden_endpoints.py +6 -6
  62. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/local_clustering_coefficient_endpoints.py +6 -6
  63. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/louvain_endpoints.py +6 -6
  64. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/maxkcut_endpoints.py +4 -4
  65. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/modularity_endpoints.py +4 -4
  66. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/modularity_optimization_endpoints.py +6 -6
  67. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/scc_endpoints.py +6 -6
  68. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/sllpa_endpoints.py +6 -6
  69. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/triangle_count_endpoints.py +6 -6
  70. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/community/triangles_endpoints.py +61 -0
  71. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/wcc_endpoints.py +6 -6
  72. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/debug_endpoints.py +43 -0
  73. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/default_values.py +2 -0
  74. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/job_handle.py +135 -0
  75. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/job_not_finished_error.py +9 -0
  76. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/kge/__init__.py +17 -0
  77. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/kge/kge_endpoints.py +69 -0
  78. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/kge/kge_predict_endpoints.py +218 -0
  79. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/kge/simple_rel_embedding_model.py +227 -0
  80. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/license_endpoints.py +23 -0
  81. graphdatascience-1.21a2/src/graphdatascience/procedure_surface/api/system_endpoints.py → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/list_progress_endpoint.py +2 -2
  82. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/model/graphsage_model.py +12 -12
  83. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/model/link_prediction_model.py +144 -0
  84. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/model/model_catalog_endpoints.py +23 -8
  85. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/model/node_classification_model.py +255 -0
  86. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/model/node_regression_model.py +131 -0
  87. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/model/pipeline_model.py +52 -0
  88. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/__init__.py +8 -0
  89. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/node_embedding/fastpath_endpoints.py +280 -0
  90. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/fastrp_endpoints.py +6 -6
  91. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_endpoints.py +6 -6
  92. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_predict_endpoints.py +5 -5
  93. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_train_endpoints.py +7 -7
  94. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/hashgnn_endpoints.py +5 -5
  95. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/node2vec_endpoints.py +5 -5
  96. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/__init__.py +8 -0
  97. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/all_shortest_path_endpoints.py +3 -3
  98. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/bfs_endpoints.py +5 -5
  99. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/dfs_endpoints.py +5 -5
  100. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/dijkstra_endpoints.py +5 -5
  101. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/k_spanning_tree_endpoints.py +2 -2
  102. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/longest_path_endpoints.py +2 -2
  103. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/max_flow_endpoints.py +6 -6
  104. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/max_flow_min_cost_endpoints.py +6 -6
  105. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/prize_steiner_tree_endpoints.py +6 -6
  106. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pathfinding/random_walk_endpoints.py +279 -0
  107. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/single_source_bellman_ford_endpoints.py +6 -6
  108. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/single_source_delta_endpoints.py +6 -6
  109. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/single_source_dijkstra_endpoints.py +5 -5
  110. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/source_target_astar_endpoints.py +5 -5
  111. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/source_target_dijkstra_endpoints.py +5 -5
  112. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/source_target_yens_endpoints.py +5 -5
  113. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/spanning_tree_endpoints.py +6 -6
  114. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/steiner_tree_endpoints.py +6 -6
  115. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/__init__.py +71 -0
  116. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_pipeline.py +224 -0
  117. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_pipeline_endpoints.py +307 -0
  118. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_pipeline_protocol.py +90 -0
  119. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_pipeline_results.py +27 -0
  120. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_predict_endpoints.py +94 -0
  121. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_train_endpoints.py +140 -0
  122. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_pipeline.py +423 -0
  123. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_pipeline_endpoints.py +292 -0
  124. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_pipeline_protocol.py +79 -0
  125. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_pipeline_results.py +28 -0
  126. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_predict_endpoints.py +228 -0
  127. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_train_endpoints.py +134 -0
  128. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_metric.py +7 -0
  129. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_pipeline.py +281 -0
  130. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_pipeline_endpoints.py +284 -0
  131. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_pipeline_protocol.py +78 -0
  132. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_pipeline_results.py +27 -0
  133. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_predict_endpoints.py +113 -0
  134. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/parameter_space_config.py +25 -0
  135. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/pipeline_catalog_protocol.py +16 -0
  136. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/pipeline_endpoints.py +64 -0
  137. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/projection_job_handle.py +72 -0
  138. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/__init__.py +2 -0
  139. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/knn_endpoints.py +6 -6
  140. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/knn_filtered_endpoints.py +6 -6
  141. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/node_similarity_endpoints.py +6 -6
  142. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/node_similarity_filtered_endpoints.py +6 -6
  143. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/similarity/similarity_functions.py +186 -0
  144. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/topological_link_prediction_endpoints.py +187 -0
  145. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/util_endpoints.py +93 -0
  146. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/write_job_handle.py +143 -0
  147. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/catalog/catalog_arrow_endpoints.py +569 -0
  148. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/graph_backend_arrow.py +4 -3
  149. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/graph_sampling_arrow_endpoints.py +8 -4
  150. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/node_label_arrow_endpoints.py +7 -7
  151. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/node_properties_arrow_endpoints.py +18 -13
  152. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/relationship_arrow_endpoints.py +30 -26
  153. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/scale_properties_arrow_endpoints.py +9 -9
  154. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/articlerank_arrow_endpoints.py +46 -9
  155. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/articulationpoints_arrow_endpoints.py +34 -9
  156. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/betweenness_arrow_endpoints.py +40 -9
  157. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/bridges_arrow_endpoints.py +30 -6
  158. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/celf_arrow_endpoints.py +41 -9
  159. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/closeness_arrow_endpoints.py +36 -9
  160. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/closeness_harmonic_arrow_endpoints.py +34 -9
  161. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/degree_arrow_endpoints.py +37 -9
  162. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/eigenvector_arrow_endpoints.py +45 -9
  163. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/pagerank_arrow_endpoints.py +94 -9
  164. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/collapse_path_arrow_endpoints.py +49 -0
  165. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/clique_counting_arrow_endpoints.py +34 -9
  166. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/conductance_arrow_endpoints.py +30 -2
  167. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/hdbscan_arrow_endpoints.py +43 -10
  168. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/k1coloring_arrow_endpoints.py +38 -9
  169. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/kcore_arrow_endpoints.py +33 -9
  170. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/kmeans_arrow_endpoints.py +52 -9
  171. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/labelpropagation_arrow_endpoints.py +44 -9
  172. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/leiden_arrow_endpoints.py +53 -10
  173. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/local_clustering_coefficient_arrow_endpoints.py +36 -9
  174. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/louvain_arrow_endpoints.py +47 -9
  175. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/maxkcut_arrow_endpoints.py +43 -8
  176. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/modularity_arrow_endpoints.py +32 -4
  177. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/modularity_optimization_arrow_endpoints.py +46 -9
  178. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/scc_arrow_endpoints.py +35 -9
  179. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/sllpa_arrow_endpoints.py +40 -9
  180. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/triangle_count_arrow_endpoints.py +39 -10
  181. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/community/triangles_arrow_endpoints.py +48 -0
  182. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/wcc_arrow_endpoints.py +41 -9
  183. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/endpoints_helper_base.py +39 -51
  184. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/jobs_arrow_endpoints.py +105 -0
  185. graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/system_arrow_endpoints.py → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/list_progress_arrow_endpoint.py +3 -3
  186. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/model/model_catalog_arrow_endpoints.py +11 -2
  187. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/model_api_arrow.py +2 -2
  188. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/mutation_runner.py +63 -0
  189. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/node_embedding/fastpath_arrow_endpoints.py +220 -0
  190. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_embedding/fastrp_arrow_endpoints.py +49 -9
  191. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_embedding/graphsage_predict_arrow_endpoints.py +37 -8
  192. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_embedding/graphsage_train_arrow_endpoints.py +12 -12
  193. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_embedding/hashgnn_arrow_endpoints.py +51 -8
  194. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_embedding/node2vec_arrow_endpoints.py +65 -8
  195. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_property_endpoints.py +8 -3
  196. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/all_shortest_path_arrow_endpoints.py +34 -8
  197. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/bfs_arrow_endpoints.py +38 -8
  198. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/dfs_arrow_endpoints.py +38 -8
  199. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/dijkstra_arrow_endpoints.py +39 -8
  200. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/k_spanning_tree_arrow_endpoints.py +38 -5
  201. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/longest_path_arrow_endpoints.py +30 -3
  202. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/max_flow_arrow_endpoints.py +43 -10
  203. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/max_flow_min_cost_arrow_endpoints.py +46 -9
  204. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/prize_steiner_tree_arrow_endpoints.py +38 -9
  205. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pathfinding/random_walk_arrow_endpoints.py +202 -0
  206. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/shortest_path_arrow_endpoints.py +5 -5
  207. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_bellman_ford_arrow_endpoints.py +38 -9
  208. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_delta_arrow_endpoints.py +40 -9
  209. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_dijkstra_arrow_endpoints.py +37 -8
  210. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_astar_arrow_endpoints.py +43 -8
  211. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_dijkstra_arrow_endpoints.py +39 -8
  212. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_yens_arrow_endpoints.py +41 -8
  213. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/spanning_tree_arrow_endpoints.py +40 -9
  214. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/steiner_tree_arrow_endpoints.py +44 -9
  215. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/__init__.py +21 -0
  216. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/link_prediction_pipeline_arrow_endpoints.py +262 -0
  217. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/link_prediction_predict_arrow_endpoints.py +166 -0
  218. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/link_prediction_train_arrow_endpoints.py +134 -0
  219. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/node_classification_pipeline_arrow_endpoints.py +247 -0
  220. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/node_classification_predict_arrow_endpoints.py +185 -0
  221. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/node_classification_train_arrow_endpoints.py +131 -0
  222. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/node_regression_pipeline_arrow_endpoints.py +232 -0
  223. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/node_regression_predict_arrow_endpoints.py +97 -0
  224. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/pipeline_arrow_endpoints.py +50 -0
  225. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/pipeline_catalog_arrow_endpoints.py +49 -0
  226. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/relationship_endpoints_helper.py +2 -2
  227. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/similarity/knn_arrow_endpoints.py +55 -10
  228. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/similarity/knn_filtered_arrow_endpoints.py +60 -9
  229. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/similarity/node_similarity_arrow_endpoints.py +102 -10
  230. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/similarity/node_similarity_filtered_arrow_endpoints.py +58 -9
  231. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/stream_result_mapper.py +115 -0
  232. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/topological_link_prediction_arrow_endpoints.py +65 -0
  233. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/util_arrow_endpoints.py +57 -0
  234. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/__init__.py +3 -0
  235. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/__init__.py +2 -0
  236. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/catalog_cypher_endpoints.py +134 -53
  237. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/graph_sampling_cypher_endpoints.py +9 -5
  238. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/node_label_cypher_endpoints.py +3 -3
  239. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/node_properties_cypher_endpoints.py +6 -6
  240. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/relationship_cypher_endpoints.py +37 -29
  241. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/scale_properties_cypher_endpoints.py +6 -6
  242. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/articlerank_cypher_endpoints.py +6 -6
  243. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/articulationpoints_cypher_endpoints.py +6 -6
  244. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/betweenness_cypher_endpoints.py +6 -6
  245. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/bridges_cypher_endpoints.py +3 -3
  246. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/celf_cypher_endpoints.py +6 -6
  247. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/closeness_cypher_endpoints.py +6 -6
  248. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/closeness_harmonic_cypher_endpoints.py +6 -6
  249. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/degree_cypher_endpoints.py +6 -6
  250. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/eigenvector_cypher_endpoints.py +6 -6
  251. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/pagerank_cypher_endpoints.py +6 -6
  252. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/collapse_path_cypher_endpoints.py +49 -0
  253. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/clique_counting_cypher_endpoints.py +6 -6
  254. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/conductance_cypher_endpoints.py +2 -2
  255. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/hdbscan_cypher_endpoints.py +6 -6
  256. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/k1coloring_cypher_endpoints.py +6 -6
  257. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/kcore_cypher_endpoints.py +6 -6
  258. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/kmeans_cypher_endpoints.py +6 -6
  259. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/labelpropagation_cypher_endpoints.py +6 -6
  260. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/leiden_cypher_endpoints.py +6 -6
  261. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/local_clustering_coefficient_cypher_endpoints.py +6 -6
  262. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/louvain_cypher_endpoints.py +6 -6
  263. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/maxkcut_cypher_endpoints.py +4 -4
  264. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/modularity_cypher_endpoints.py +4 -4
  265. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/modularity_optimization_cypher_endpoints.py +6 -6
  266. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/scc_cypher_endpoints.py +6 -6
  267. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/sllpa_cypher_endpoints.py +6 -6
  268. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/triangle_count_cypher_endpoints.py +6 -6
  269. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/community/triangles_cypher_endpoints.py +46 -0
  270. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/wcc_cypher_endpoints.py +6 -6
  271. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/debug_cypher_endpoints.py +15 -0
  272. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/estimation_utils.py +3 -3
  273. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/kge/__init__.py +5 -0
  274. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/kge/kge_predict_cypher_endpoints.py +148 -0
  275. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/license_cypher_endpoints.py +22 -0
  276. graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/system_cypher_endpoints.py → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/list_progress_cypher_endpoint.py +3 -3
  277. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/model/model_catalog_cypher_endpoints.py +9 -2
  278. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/model_api_cypher.py +2 -2
  279. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/node_embedding/fastrp_cypher_endpoints.py +6 -6
  280. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/node_embedding/graphsage_predict_cypher_endpoints.py +5 -5
  281. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/node_embedding/graphsage_train_cypher_endpoints.py +7 -7
  282. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/node_embedding/hashgnn_cypher_endpoints.py +5 -5
  283. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/node_embedding/node2vec_cypher_endpoints.py +6 -6
  284. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/all_shortest_path_cypher_endpoints.py +3 -3
  285. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/bfs_cypher_endpoints.py +5 -5
  286. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/dfs_cypher_endpoints.py +5 -5
  287. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/dijkstra_cypher_endpoints.py +5 -5
  288. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/k_spanning_tree_cypher_endpoints.py +2 -2
  289. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/longest_path_cypher_endpoints.py +2 -2
  290. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/max_flow_cypher_endpoints.py +6 -6
  291. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/max_flow_min_cost_cypher_endpoints.py +6 -6
  292. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/prize_steiner_tree_cypher_endpoints.py +6 -6
  293. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pathfinding/random_walk_cypher_endpoints.py +193 -0
  294. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_bellman_ford_cypher_endpoints.py +6 -6
  295. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_delta_cypher_endpoints.py +6 -6
  296. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_dijkstra_cypher_endpoints.py +5 -5
  297. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_astar_cypher_endpoints.py +5 -5
  298. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_dijkstra_cypher_endpoints.py +5 -5
  299. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_yens_cypher_endpoints.py +5 -5
  300. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/spanning_tree_cypher_endpoints.py +6 -6
  301. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/steiner_tree_cypher_endpoints.py +6 -6
  302. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/__init__.py +19 -0
  303. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/link_prediction_pipeline_cypher_endpoints.py +252 -0
  304. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/link_prediction_predict_cypher_endpoints.py +157 -0
  305. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/link_prediction_train_cypher_endpoints.py +120 -0
  306. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/node_classification_pipeline_cypher_endpoints.py +237 -0
  307. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/node_classification_predict_cypher_endpoints.py +151 -0
  308. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/node_classification_train_cypher_endpoints.py +115 -0
  309. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/node_regression_pipeline_cypher_endpoints.py +224 -0
  310. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/node_regression_predict_cypher_endpoints.py +78 -0
  311. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/pipeline_catalog_cypher_endpoints.py +52 -0
  312. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/pipeline_cypher_endpoints.py +27 -0
  313. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/similarity/knn_cypher_endpoints.py +6 -6
  314. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/similarity/knn_filtered_cypher_endpoints.py +6 -6
  315. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/similarity/node_similarity_cypher_endpoints.py +6 -6
  316. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/similarity/node_similarity_filtered_cypher_endpoints.py +6 -6
  317. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/topological_link_prediction_cypher_endpoints.py +138 -0
  318. graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/util_cypher_endpoints.py +38 -0
  319. {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience}/progress/progress_bar.py +4 -4
  320. {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience}/progress/query_progress_logger.py +3 -9
  321. {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience}/progress/query_progress_provider.py +2 -11
  322. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/neo4j_query_runner.py +16 -74
  323. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/query_runner.py +0 -7
  324. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/retry_utils/neo4j_retry_helper.py +0 -3
  325. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/aura_api_responses.py +13 -2
  326. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/aura_api_token_authentication.py +1 -1
  327. graphdatascience-1.21a2/src/graphdatascience/session/session_v2_endpoints.py → graphdatascience-2.0a1/src/graphdatascience/session/aura_graph_data_science.py +443 -79
  328. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/dbms/protocol_resolver.py +2 -0
  329. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/dbms/protocol_version.py +1 -0
  330. graphdatascience-1.21a2/src/graphdatascience/session/dedicated_sessions.py → graphdatascience-2.0a1/src/graphdatascience/session/gds_sessions.py +168 -54
  331. graphdatascience-2.0a1/src/graphdatascience/session/remote_ops/arrow_config.py +23 -0
  332. graphdatascience-2.0a1/src/graphdatascience/session/remote_ops/project_protocols.py +279 -0
  333. graphdatascience-2.0a1/src/graphdatascience/session/remote_ops/projection_runner.py +147 -0
  334. graphdatascience-2.0a1/src/graphdatascience/session/remote_ops/write_protocols.py +193 -0
  335. graphdatascience-2.0a1/src/graphdatascience/session/session_lifecycle_manager.py +35 -0
  336. graphdatascience-2.0a1/src/graphdatascience/version.py +2 -0
  337. {graphdatascience-1.21a2 → graphdatascience-2.0a1/src/graphdatascience.egg-info}/PKG-INFO +5 -5
  338. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience.egg-info/SOURCES.txt +111 -101
  339. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience.egg-info/requires.txt +4 -4
  340. graphdatascience-1.21a2/src/graphdatascience/__init__.py +0 -36
  341. graphdatascience-1.21a2/src/graphdatascience/algo/algo_endpoints.py +0 -24
  342. graphdatascience-1.21a2/src/graphdatascience/algo/algo_proc_runner.py +0 -45
  343. graphdatascience-1.21a2/src/graphdatascience/algo/single_mode_algo_endpoints.py +0 -18
  344. graphdatascience-1.21a2/src/graphdatascience/arrow_client/v2/remote_write_back_client.py +0 -83
  345. graphdatascience-1.21a2/src/graphdatascience/call_builder.py +0 -21
  346. graphdatascience-1.21a2/src/graphdatascience/caller_base.py +0 -23
  347. graphdatascience-1.21a2/src/graphdatascience/endpoints.py +0 -105
  348. graphdatascience-1.21a2/src/graphdatascience/error/client_only_endpoint.py +0 -43
  349. graphdatascience-1.21a2/src/graphdatascience/error/endpoint_suggester.py +0 -29
  350. graphdatascience-1.21a2/src/graphdatascience/error/illegal_attr_checker.py +0 -16
  351. graphdatascience-1.21a2/src/graphdatascience/error/uncallable_namespace.py +0 -16
  352. graphdatascience-1.21a2/src/graphdatascience/graph/base_graph_proc_runner.py +0 -570
  353. graphdatascience-1.21a2/src/graphdatascience/graph/graph_alpha_proc_runner.py +0 -81
  354. graphdatascience-1.21a2/src/graphdatascience/graph/graph_beta_proc_runner.py +0 -43
  355. graphdatascience-1.21a2/src/graphdatascience/graph/graph_create_result.py +0 -28
  356. graphdatascience-1.21a2/src/graphdatascience/graph/graph_cypher_runner.py +0 -125
  357. graphdatascience-1.21a2/src/graphdatascience/graph/graph_endpoints.py +0 -15
  358. graphdatascience-1.21a2/src/graphdatascience/graph/graph_entity_ops_runner.py +0 -426
  359. graphdatascience-1.21a2/src/graphdatascience/graph/graph_export_runner.py +0 -52
  360. graphdatascience-1.21a2/src/graphdatascience/graph/graph_object.py +0 -232
  361. graphdatascience-1.21a2/src/graphdatascience/graph/graph_proc_runner.py +0 -15
  362. graphdatascience-1.21a2/src/graphdatascience/graph/graph_project_runner.py +0 -72
  363. graphdatascience-1.21a2/src/graphdatascience/graph/graph_remote_proc_runner.py +0 -8
  364. graphdatascience-1.21a2/src/graphdatascience/graph/graph_remote_project_runner.py +0 -49
  365. graphdatascience-1.21a2/src/graphdatascience/graph/graph_sample_runner.py +0 -72
  366. graphdatascience-1.21a2/src/graphdatascience/graph/graph_type_check.py +0 -34
  367. graphdatascience-1.21a2/src/graphdatascience/graph/nx_loader.py +0 -46
  368. graphdatascience-1.21a2/src/graphdatascience/graph/ogb_loader.py +0 -76
  369. graphdatascience-1.21a2/src/graphdatascience/graph/v2/__init__.py +0 -4
  370. graphdatascience-1.21a2/src/graphdatascience/graph_data_science.py +0 -393
  371. graphdatascience-1.21a2/src/graphdatascience/model/graphsage_model.py +0 -56
  372. graphdatascience-1.21a2/src/graphdatascience/model/link_prediction_model.py +0 -45
  373. graphdatascience-1.21a2/src/graphdatascience/model/model.py +0 -301
  374. graphdatascience-1.21a2/src/graphdatascience/model/model_alpha_proc_runner.py +0 -51
  375. graphdatascience-1.21a2/src/graphdatascience/model/model_beta_proc_runner.py +0 -33
  376. graphdatascience-1.21a2/src/graphdatascience/model/model_endpoints.py +0 -22
  377. graphdatascience-1.21a2/src/graphdatascience/model/model_proc_runner.py +0 -151
  378. graphdatascience-1.21a2/src/graphdatascience/model/model_resolver.py +0 -21
  379. graphdatascience-1.21a2/src/graphdatascience/model/node_classification_model.py +0 -78
  380. graphdatascience-1.21a2/src/graphdatascience/model/node_regression_model.py +0 -25
  381. graphdatascience-1.21a2/src/graphdatascience/model/pipeline_model.py +0 -104
  382. graphdatascience-1.21a2/src/graphdatascience/model/simple_rel_embedding_model.py +0 -196
  383. graphdatascience-1.21a2/src/graphdatascience/model/v2/graphsage_model.py +0 -0
  384. graphdatascience-1.21a2/src/graphdatascience/pipeline/classification_training_pipeline.py +0 -67
  385. graphdatascience-1.21a2/src/graphdatascience/pipeline/lp_pipeline_create_runner.py +0 -20
  386. graphdatascience-1.21a2/src/graphdatascience/pipeline/lp_training_pipeline.py +0 -52
  387. graphdatascience-1.21a2/src/graphdatascience/pipeline/nc_pipeline_create_runner.py +0 -20
  388. graphdatascience-1.21a2/src/graphdatascience/pipeline/nc_training_pipeline.py +0 -52
  389. graphdatascience-1.21a2/src/graphdatascience/pipeline/nr_pipeline_create_runner.py +0 -20
  390. graphdatascience-1.21a2/src/graphdatascience/pipeline/nr_training_pipeline.py +0 -83
  391. graphdatascience-1.21a2/src/graphdatascience/pipeline/pipeline_alpha_proc_runner.py +0 -9
  392. graphdatascience-1.21a2/src/graphdatascience/pipeline/pipeline_beta_proc_runner.py +0 -32
  393. graphdatascience-1.21a2/src/graphdatascience/pipeline/pipeline_endpoints.py +0 -68
  394. graphdatascience-1.21a2/src/graphdatascience/pipeline/pipeline_proc_runner.py +0 -62
  395. graphdatascience-1.21a2/src/graphdatascience/pipeline/training_pipeline.py +0 -269
  396. graphdatascience-1.21a2/src/graphdatascience/procedure_surface/api/__init__.py +0 -5
  397. graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/catalog/catalog_arrow_endpoints.py +0 -366
  398. graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/stream_result_mapper.py +0 -69
  399. graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/__init__.py +0 -3
  400. graphdatascience-1.21a2/src/graphdatascience/query_runner/arrow_authentication/__init__.py +0 -3
  401. graphdatascience-1.21a2/src/graphdatascience/query_runner/arrow_info/__init__.py +0 -5
  402. graphdatascience-1.21a2/src/graphdatascience/query_runner/arrow_query_runner.py +0 -272
  403. graphdatascience-1.21a2/src/graphdatascience/query_runner/gds_arrow_client.py +0 -1004
  404. graphdatascience-1.21a2/src/graphdatascience/query_runner/protocol/project_protocols.py +0 -197
  405. graphdatascience-1.21a2/src/graphdatascience/query_runner/protocol/write_protocols.py +0 -198
  406. graphdatascience-1.21a2/src/graphdatascience/query_runner/session_query_runner.py +0 -291
  407. graphdatascience-1.21a2/src/graphdatascience/query_runner/standalone_session_query_runner.py +0 -109
  408. graphdatascience-1.21a2/src/graphdatascience/semantic_version/__init__.py +0 -0
  409. graphdatascience-1.21a2/src/graphdatascience/server_version/__init__.py +0 -0
  410. graphdatascience-1.21a2/src/graphdatascience/server_version/compatible_with.py +0 -43
  411. graphdatascience-1.21a2/src/graphdatascience/session/aura_graph_data_science.py +0 -303
  412. graphdatascience-1.21a2/src/graphdatascience/session/dbms/__init__.py +0 -0
  413. graphdatascience-1.21a2/src/graphdatascience/session/gds_sessions.py +0 -205
  414. graphdatascience-1.21a2/src/graphdatascience/session/session_lifecycle_manager.py +0 -14
  415. graphdatascience-1.21a2/src/graphdatascience/system/__init__.py +0 -0
  416. graphdatascience-1.21a2/src/graphdatascience/system/config_endpoints.py +0 -61
  417. graphdatascience-1.21a2/src/graphdatascience/system/system_endpoints.py +0 -144
  418. graphdatascience-1.21a2/src/graphdatascience/topological_lp/__init__.py +0 -0
  419. graphdatascience-1.21a2/src/graphdatascience/topological_lp/topological_lp_alpha_endpoints.py +0 -8
  420. graphdatascience-1.21a2/src/graphdatascience/topological_lp/topological_lp_alpha_runner.py +0 -52
  421. graphdatascience-1.21a2/src/graphdatascience/topological_lp/topological_lp_runner.py +0 -72
  422. graphdatascience-1.21a2/src/graphdatascience/utils/__init__.py +0 -0
  423. graphdatascience-1.21a2/src/graphdatascience/utils/direct_util_endpoints.py +0 -115
  424. graphdatascience-1.21a2/src/graphdatascience/utils/util_node_property_func_runner.py +0 -31
  425. graphdatascience-1.21a2/src/graphdatascience/utils/util_proc_runner.py +0 -60
  426. graphdatascience-1.21a2/src/graphdatascience/utils/util_remote_proc_runner.py +0 -55
  427. graphdatascience-1.21a2/src/graphdatascience/version.py +0 -2
  428. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/LICENSE +0 -0
  429. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/MANIFEST.in +0 -0
  430. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/README.md +0 -0
  431. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/setup.cfg +0 -0
  432. {graphdatascience-1.21a2/src/graphdatascience/algo → graphdatascience-2.0a1/src/graphdatascience/arrow_client}/__init__.py +0 -0
  433. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_authentication.py +0 -0
  434. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_base_model.py +0 -0
  435. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_client_options_util.py +0 -0
  436. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_endpoint_version.py +0 -0
  437. {graphdatascience-1.21a2/src/graphdatascience/arrow_client → graphdatascience-2.0a1/src/graphdatascience/arrow_client/middleware}/__init__.py +0 -0
  438. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/progress_callback.py +0 -0
  439. {graphdatascience-1.21a2/src/graphdatascience/arrow_client/middleware → graphdatascience-2.0a1/src/graphdatascience/arrow_client/v1}/__init__.py +0 -0
  440. {graphdatascience-1.21a2/src/graphdatascience/arrow_client/v1 → graphdatascience-2.0a1/src/graphdatascience/arrow_client/v2}/__init__.py +0 -0
  441. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/v2/api_types.py +0 -0
  442. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/call_parameters.py +0 -0
  443. {graphdatascience-1.21a2/src/graphdatascience/arrow_client/v2 → graphdatascience-2.0a1/src/graphdatascience/datasets}/__init__.py +0 -0
  444. {graphdatascience-1.21a2/src/graphdatascience/datasets → graphdatascience-2.0a1/src/graphdatascience/error}/__init__.py +0 -0
  445. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/error/gds_not_installed.py +0 -0
  446. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/error/unable_to_connect.py +0 -0
  447. {graphdatascience-1.21a2/src/graphdatascience/graph/v2 → graphdatascience-2.0a1/src/graphdatascience/graph}/graph_backend.py +0 -0
  448. {graphdatascience-1.21a2/src/graphdatascience/error → graphdatascience-2.0a1/src/graphdatascience/graph_construction}/__init__.py +0 -0
  449. {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience/graph_construction}/graph_constructor.py +0 -0
  450. {graphdatascience-1.21a2/src/graphdatascience/graph → graphdatascience-2.0a1/src/graphdatascience/model}/__init__.py +0 -0
  451. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/__init__.py +0 -0
  452. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/base_result.py +0 -0
  453. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/graph_info.py +0 -0
  454. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/scaler_config.py +0 -0
  455. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/__init__.py +0 -0
  456. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/config_endpoints.py +0 -0
  457. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/estimation_result.py +0 -0
  458. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/model/__init__.py +0 -0
  459. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/dag_endpoints.py +0 -0
  460. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/shortest_path_endpoints.py +0 -0
  461. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/knn_results.py +0 -0
  462. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/node_similarity_results.py +0 -0
  463. {graphdatascience-1.21a2/src/graphdatascience/model → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow}/__init__.py +0 -0
  464. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/__init__.py +0 -0
  465. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/graph_ops_arrow.py +0 -0
  466. {graphdatascience-1.21a2/src/graphdatascience/model/v2 → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/centrality}/__init__.py +0 -0
  467. {graphdatascience-1.21a2/src/graphdatascience/pipeline → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/community}/__init__.py +0 -0
  468. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/config_arrow_endpoints.py +0 -0
  469. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/error_handler.py +0 -0
  470. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/model/__init__.py +0 -0
  471. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/node_embedding}/__init__.py +0 -0
  472. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/centrality → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pathfinding}/__init__.py +0 -0
  473. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/dag_arrow_endpoints.py +0 -0
  474. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/community → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/similarity}/__init__.py +0 -0
  475. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/table_endpoints_helper.py +0 -0
  476. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/utils.py +0 -0
  477. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/node_embedding → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/centrality}/__init__.py +0 -0
  478. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/pathfinding → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/community}/__init__.py +0 -0
  479. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/config_cypher_endpoints.py +0 -0
  480. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/model/__init__.py +0 -0
  481. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/similarity → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/node_embedding}/__init__.py +0 -0
  482. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/centrality → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pathfinding}/__init__.py +0 -0
  483. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/dag_cypher_endpoints.py +0 -0
  484. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/shortest_path_cypher_endpoints.py +0 -0
  485. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/community → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/similarity}/__init__.py +0 -0
  486. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/node_embedding → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/utils}/__init__.py +0 -0
  487. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/utils/config_converter.py +0 -0
  488. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/utils/result_utils.py +0 -0
  489. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/pathfinding → graphdatascience-2.0a1/src/graphdatascience/progress}/__init__.py +0 -0
  490. {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience}/progress/progress_provider.py +0 -0
  491. {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience}/progress/static_progress_provider.py +0 -0
  492. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/py.typed +0 -0
  493. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/__init__.py +0 -0
  494. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/query_mode.py +0 -0
  495. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/query_type.py +0 -0
  496. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/termination_flag.py +0 -0
  497. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/similarity → graphdatascience-2.0a1/src/graphdatascience/resources}/__init__.py +0 -0
  498. {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/utils → graphdatascience-2.0a1/src/graphdatascience/resources/cora}/__init__.py +0 -0
  499. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/cora/cora_nodes.parquet.gzip +0 -0
  500. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/cora/cora_rels.parquet.gzip +0 -0
  501. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/cora/serialize_cora.py +0 -0
  502. {graphdatascience-1.21a2/src/graphdatascience/query_runner/progress → graphdatascience-2.0a1/src/graphdatascience/resources/imdb}/__init__.py +0 -0
  503. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_acted_in.parquet.gzip +0 -0
  504. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_actors.parquet.gzip +0 -0
  505. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_directed_in.parquet.gzip +0 -0
  506. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_directors.parquet.gzip +0 -0
  507. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_movies_with_genre.parquet.gzip +0 -0
  508. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_movies_without_genre.parquet.gzip +0 -0
  509. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/serialize_imdb.py +0 -0
  510. {graphdatascience-1.21a2/src/graphdatascience/query_runner/protocol → graphdatascience-2.0a1/src/graphdatascience/resources/karate}/__init__.py +0 -0
  511. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/karate/karate_club.parquet.gzip +0 -0
  512. {graphdatascience-1.21a2/src/graphdatascience/resources → graphdatascience-2.0a1/src/graphdatascience/resources/lastfm}/__init__.py +0 -0
  513. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/artist_nodes.parquet.gzip +0 -0
  514. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/serialize_lastfm.py +0 -0
  515. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/user_friend_df_directed.parquet.gzip +0 -0
  516. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/user_listen_artist_rels.parquet.gzip +0 -0
  517. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/user_nodes.parquet.gzip +0 -0
  518. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/user_tag_artist_rels.parquet.gzip +0 -0
  519. {graphdatascience-1.21a2/src/graphdatascience/resources/cora → graphdatascience-2.0a1/src/graphdatascience/retry_utils}/__init__.py +0 -0
  520. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/retry_utils/retry_config.py +0 -0
  521. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/retry_utils/retry_utils.py +0 -0
  522. {graphdatascience-1.21a2/src/graphdatascience/resources/imdb → graphdatascience-2.0a1/src/graphdatascience/semantic_version}/__init__.py +0 -0
  523. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/semantic_version/semantic_version.py +0 -0
  524. {graphdatascience-1.21a2/src/graphdatascience/resources/karate → graphdatascience-2.0a1/src/graphdatascience/server_version}/__init__.py +0 -0
  525. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/server_version/server_version.py +0 -0
  526. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/__init__.py +0 -0
  527. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/algorithm_category.py +0 -0
  528. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/aura_api.py +0 -0
  529. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/cloud_location.py +0 -0
  530. {graphdatascience-1.21a2/src/graphdatascience/resources/lastfm → graphdatascience-2.0a1/src/graphdatascience/session/dbms}/__init__.py +0 -0
  531. {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience/session/dbms}/db_environment_resolver.py +0 -0
  532. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/dbms_connection_info.py +0 -0
  533. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/region_suggester.py +0 -0
  534. {graphdatascience-1.21a2/src/graphdatascience/retry_utils → graphdatascience-2.0a1/src/graphdatascience/session/remote_ops}/__init__.py +0 -0
  535. {graphdatascience-1.21a2/src/graphdatascience/query_runner/protocol → graphdatascience-2.0a1/src/graphdatascience/session/remote_ops}/status.py +0 -0
  536. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/session_info.py +0 -0
  537. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/session_sizes.py +0 -0
  538. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience.egg-info/dependency_links.txt +0 -0
  539. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience.egg-info/not-zip-safe +0 -0
  540. {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphdatascience
3
- Version: 1.21a2
3
+ Version: 2.0a1
4
4
  Summary: A Python client for the Neo4j Graph Data Science (GDS) library
5
5
  Author-email: Neo4j <team-gds@neo4j.org>
6
6
  License-Expression: Apache-2.0
@@ -27,9 +27,9 @@ Requires-Python: >=3.10
27
27
  Description-Content-Type: text/markdown
28
28
  License-File: LICENSE
29
29
  Requires-Dist: multimethod<3.0,>=1.0
30
- Requires-Dist: neo4j<7.0,>=4.4.12
31
- Requires-Dist: numpy<2.4
32
- Requires-Dist: pandas<3.0,>=1.0
30
+ Requires-Dist: neo4j<7.0,>=5.26.0
31
+ Requires-Dist: numpy<3.0
32
+ Requires-Dist: pandas<4.0,>=2.0
33
33
  Requires-Dist: pyarrow<24.0,>=18.0
34
34
  Requires-Dist: textdistance<5.0,>=4.0
35
35
  Requires-Dist: tqdm<5.0,>=4.0
@@ -42,7 +42,7 @@ Requires-Dist: networkx<4.0,>=2.0; extra == "networkx"
42
42
  Provides-Extra: ogb
43
43
  Requires-Dist: ogb<2.0,>=1.0; extra == "ogb"
44
44
  Provides-Extra: rust-ext
45
- Requires-Dist: neo4j-rust-ext<7.0,>=4.4.12; extra == "rust-ext"
45
+ Requires-Dist: neo4j-rust-ext<7.0,>=5.26.0; extra == "rust-ext"
46
46
  Dynamic: license-file
47
47
 
48
48
  # Neo4j Graph Data Science Client
@@ -29,9 +29,9 @@ classifiers = [
29
29
  requires-python = ">=3.10"
30
30
  dependencies = [
31
31
  "multimethod >= 1.0, < 3.0",
32
- "neo4j >= 4.4.12, < 7.0",
33
- "numpy < 2.4",
34
- "pandas >= 1.0, < 3.0",
32
+ "neo4j >= 5.26.0, < 7.0",
33
+ "numpy < 3.0",
34
+ "pandas>=2.0,<4.0",
35
35
  "pyarrow >= 18.0, < 24.0",
36
36
  "textdistance >= 4.0, < 5.0",
37
37
  "tqdm >= 4.0, < 5.0",
@@ -50,7 +50,7 @@ BugTracker = "https://github.com/neo4j/graph-data-science-client/issues"
50
50
  [project.optional-dependencies]
51
51
  networkx = ["networkx >= 2.0, < 4.0"]
52
52
  ogb = ["ogb >= 1.0, < 2.0"]
53
- rust-ext = ["neo4j-rust-ext >= 4.4.12, < 7.0"]
53
+ rust-ext = ["neo4j-rust-ext >= 5.26.0, < 7.0"]
54
54
 
55
55
 
56
56
  [dependency-groups]
@@ -96,22 +96,39 @@ notebook-base = [
96
96
  "nbformat==5.10.4",
97
97
  "nbclient==0.10.4",
98
98
  "ipykernel==7.1.0",
99
+ "neo4j-viz"
99
100
  ]
100
101
  notebook-aura-ci = [
101
102
  { include-group = "notebook-base" },
102
- "python-dotenv==1.2.1"
103
+ "python-dotenv==1.2.1",
104
+ "pyspark[sql]"
103
105
  ]
104
106
  notebook-ci = [
105
107
  { include-group = "notebook-base" },
106
108
  "scipy == 1.14.0",
107
109
  "torch==2.3.0",
108
- "torch-scatter==2.1.1",
109
- "torch-sparse==0.6.17",
110
+ "torch-scatter==2.1.2",
111
+ "torch-sparse==0.6.18",
110
112
  "torch-geometric>=2.5.0",
111
113
  ]
112
114
 
113
115
  publish = ["build", "twine"]
114
116
 
117
+ # torch-scatter/torch-sparse have no sdist-friendly install: building from source
118
+ # requires a working C++/torch toolchain and fails on many local machines (notably
119
+ # macOS arm64). Instead we pull prebuilt wheels from the PyG wheel index, which ships
120
+ # wheels for both Linux (torch-2.3.0+cpu) and macOS (universal2).
121
+ [tool.uv.sources]
122
+ torch-scatter = [{ index = "pytorch-geometric-cpu" }]
123
+ torch-sparse = [{ index = "pytorch-geometric-cpu" }]
124
+
125
+ [[tool.uv.index]]
126
+ name = "pytorch-geometric-cpu"
127
+ url = "https://data.pyg.org/whl/torch-2.3.0+cpu.html"
128
+ explicit = true
129
+ format = "flat"
130
+
131
+ # Fallback only: if uv ever has to build these from source, make torch available.
115
132
  [tool.uv.extra-build-dependencies]
116
133
  torch-sparse = ["torch"]
117
134
  torch-scatter = ["torch"]
@@ -0,0 +1,11 @@
1
+ from .graph_data_science import GraphDataScience
2
+ from .server_version.server_version import ServerVersion
3
+ from .session import GdsSessions
4
+ from .version import __version__
5
+
6
+ __all__ = [
7
+ "__version__",
8
+ "ServerVersion",
9
+ "GraphDataScience",
10
+ "GdsSessions",
11
+ ]
@@ -4,7 +4,6 @@ from dataclasses import dataclass
4
4
 
5
5
  from graphdatascience.query_runner.query_runner import QueryRunner
6
6
  from graphdatascience.query_runner.query_type import QueryType
7
- from graphdatascience.server_version.server_version import ServerVersion
8
7
 
9
8
 
10
9
  @dataclass(frozen=True)
@@ -16,12 +15,11 @@ class ArrowInfo:
16
15
 
17
16
  @staticmethod
18
17
  def create(query_runner: QueryRunner) -> ArrowInfo:
19
- debugYields = ["listenAddress", "enabled", "running"]
20
- if query_runner.server_version() > ServerVersion(2, 6, 0):
21
- debugYields.append("versions")
22
-
23
18
  procResult = query_runner.call_procedure(
24
- endpoint="gds.debug.arrow", query_type=QueryType.SYSTEM, custom_error=False, yields=debugYields
19
+ endpoint="gds.debug.arrow",
20
+ query_type=QueryType.SYSTEM,
21
+ custom_error=False,
22
+ yields=["listenAddress", "enabled", "running", "versions"],
25
23
  ).iloc[0]
26
24
 
27
25
  return ArrowInfo(
@@ -0,0 +1,38 @@
1
+ from __future__ import annotations
2
+
3
+ import pandas
4
+ import pyarrow
5
+ from pyarrow import types as pa_types
6
+
7
+
8
+ def _downcast_type(data_type: pyarrow.DataType) -> pyarrow.DataType:
9
+ """Map pyarrow "large" string/binary types back to their 32-bit variants.
10
+
11
+ pandas 3.0 introduced a default string dtype that ``pyarrow.Table.from_pandas``
12
+ maps to ``large_string`` (LargeUTF8), whereas pandas 2.x produced ``string``
13
+ (UTF8). The GDS server expects UTF8, so we coerce the large variants back.
14
+ List containers are preserved as-is, only their element type is downcast.
15
+ """
16
+ if pa_types.is_large_string(data_type):
17
+ return pyarrow.string()
18
+
19
+ return data_type
20
+
21
+
22
+ def table_from_pandas(data: pandas.DataFrame) -> pyarrow.Table:
23
+ """Convert a DataFrame to a pyarrow Table, coercing large string/binary types to UTF8/binary.
24
+
25
+ Use this instead of ``pyarrow.Table.from_pandas`` so the produced schema stays
26
+ consistent across pandas 2.x and 3.0 (see :func:`_downcast_type`).
27
+ """
28
+ table = pyarrow.Table.from_pandas(data)
29
+
30
+ new_types = [_downcast_type(field.type) for field in table.schema]
31
+ if all(new_type == field.type for new_type, field in zip(new_types, table.schema)):
32
+ return table
33
+
34
+ new_schema = pyarrow.schema(
35
+ [field.with_type(new_type) for field, new_type in zip(table.schema, new_types)],
36
+ metadata=table.schema.metadata,
37
+ )
38
+ return table.cast(new_schema)
@@ -10,7 +10,7 @@ from typing import Any, Iterator, Type
10
10
  import certifi
11
11
  from pyarrow import Schema, flight
12
12
  from pyarrow import __version__ as arrow_version
13
- from pyarrow._flight import (
13
+ from pyarrow.flight import (
14
14
  Action,
15
15
  ActionType,
16
16
  FlightInternalError,
@@ -22,7 +22,6 @@ from pyarrow._flight import (
22
22
  )
23
23
 
24
24
  from graphdatascience.arrow_client.arrow_authentication import ArrowAuthentication
25
- from graphdatascience.arrow_client.arrow_info import ArrowInfo
26
25
  from graphdatascience.retry_utils.retry_config import ExponentialWaitConfig, RetryConfigV2, StopConfig
27
26
 
28
27
  from ..version import __version__
@@ -32,90 +31,64 @@ from .middleware.user_agent_middleware import UserAgentFactory
32
31
 
33
32
 
34
33
  class AuthenticatedArrowClient:
35
- @staticmethod
36
- def create(
37
- arrow_info: ArrowInfo,
38
- auth: ArrowAuthentication | None = None,
39
- encrypted: bool = False,
40
- arrow_client_options: dict[str, Any] | None = None,
41
- connection_string_override: str | None = None,
42
- retry_config: RetryConfigV2 | None = None,
43
- advertised_listen_address: tuple[str, int] | None = None,
44
- ) -> AuthenticatedArrowClient:
45
- connection_string: str
46
- if connection_string_override is not None:
47
- connection_string = connection_string_override
48
- else:
49
- connection_string = arrow_info.listenAddress
50
-
51
- host, port = connection_string.split(":")
52
-
53
- if retry_config is None:
54
- retry_config = RetryConfigV2(
55
- retryable_exceptions=[
56
- FlightTimedOutError,
57
- FlightUnavailableError,
58
- FlightInternalError,
59
- ],
60
- stop_config=StopConfig(after_delay=10, after_attempt=5),
61
- wait_config=ExponentialWaitConfig(multiplier=1, min=1, max=10),
62
- )
63
-
64
- return AuthenticatedArrowClient(
65
- host=host,
66
- retry_config=retry_config,
67
- port=int(port),
68
- auth=auth,
69
- encrypted=encrypted,
70
- arrow_client_options=arrow_client_options,
71
- advertised_listen_address=advertised_listen_address,
72
- )
73
-
74
34
  def __init__(
75
35
  self,
76
- host: str,
77
- retry_config: RetryConfigV2,
78
- port: int = 8491,
36
+ connection_info: str | tuple[str, int],
79
37
  auth: ArrowAuthentication | None = None,
80
38
  encrypted: bool = False,
81
39
  arrow_client_options: dict[str, Any] | None = None,
82
40
  user_agent: str | None = None,
83
41
  advertised_listen_address: tuple[str, int] | None = None,
42
+ retry_config: RetryConfigV2 | None = None,
84
43
  ):
85
44
  """Creates a new AuthenticatedArrowClient instance.
86
45
 
87
46
  Parameters
88
47
  ----------
89
- host: str
90
- The host address of the GDS Arrow server
91
- port: int
92
- The host port of the GDS Arrow server (default is 8491)
93
- auth: ArrowAuthentication | None
48
+ connection_info
49
+ The host address and port of the GDS Arrow server
50
+ auth
94
51
  An implementation of ArrowAuthentication providing a pair to be used for basic authentication
95
- encrypted: bool
52
+ encrypted
96
53
  A flag that indicates whether the connection should be encrypted (default is False)
97
- arrow_client_options: dict[str, Any] | None
54
+ arrow_client_options
98
55
  Additional options to be passed to the Arrow Flight client.
99
- user_agent: str | None
56
+ user_agent
100
57
  The user agent string to use for the connection. (default is `neo4j-graphdatascience-v[VERSION] pyarrow-v[PYARROW_VERSION])
101
- retry_config: RetryConfig | None
58
+ retry_config
102
59
  The retry configuration to use for the Arrow requests send by the client.
103
- advertised_listen_address: tuple[str, int] | None
60
+ advertised_listen_address
104
61
  The advertised listen address of the GDS Arrow server. This will be used by remote projection and writeback operations.
105
62
  """
63
+
64
+ if isinstance(connection_info, str):
65
+ host, port_str = connection_info.split(":")
66
+ port = int(port_str)
67
+ else:
68
+ host, port = connection_info
69
+
70
+ if retry_config is None:
71
+ retry_config = RetryConfigV2(
72
+ retryable_exceptions=[
73
+ FlightTimedOutError,
74
+ FlightUnavailableError,
75
+ FlightInternalError,
76
+ ],
77
+ stop_config=StopConfig(after_delay=10, after_attempt=5),
78
+ wait_config=ExponentialWaitConfig(multiplier=1, min=1, max=10),
79
+ )
80
+
106
81
  self._host = host
107
- self._port = port
108
- self._auth = None
82
+ self._port = int(port)
83
+ self._auth = auth
109
84
  self._encrypted = encrypted
110
85
  self._arrow_client_options = arrow_client_options
111
86
  self._user_agent = user_agent
112
87
  self._logger = logging.getLogger("gds_arrow_client")
113
88
  self._retry_config = retry_config
114
89
  if auth:
115
- self._auth = auth
116
90
  self._auth_middleware = AuthMiddleware(auth)
117
91
  self.advertised_listen_address = advertised_listen_address
118
-
119
92
  self._flight_client: flight.FlightClient = self._instantiate_flight_client()
120
93
 
121
94
  def connection_info(self) -> ConnectionInfo:
@@ -156,10 +129,14 @@ class AuthenticatedArrowClient:
156
129
 
157
130
  @self._retry_config.decorator(operation_name="Request token", logger=self._logger)
158
131
  def auth_with_retry() -> None:
159
- client = self._flight_client
160
- if self._auth:
161
- auth_pair = self._auth.auth_pair()
162
- client.authenticate_basic_token(auth_pair[0], auth_pair[1])
132
+ try:
133
+ client = self._flight_client
134
+ if self._auth:
135
+ auth_pair = self._auth.auth_pair()
136
+ client.authenticate_basic_token(auth_pair[0], auth_pair[1])
137
+ except (FlightTimedOutError, FlightUnavailableError, FlightInternalError):
138
+ self._reconnect()
139
+ raise
163
140
 
164
141
  if self._auth:
165
142
  auth_with_retry()
@@ -178,9 +155,13 @@ class AuthenticatedArrowClient:
178
155
  def do_action_with_retry(self, endpoint: str, payload: bytes | dict[str, Any]) -> list[Result]:
179
156
  @self._retry_config.decorator(operation_name="Send action", logger=self._logger)
180
157
  def run_with_retry() -> list[Result]:
181
- # the Flight response error code is only checked on iterator consumption
182
- # we eagerly collect iterator here to trigger retry in case of an error
183
- return list(self.do_action(endpoint, payload))
158
+ try:
159
+ # the Flight response error code is only checked on iterator consumption
160
+ # we eagerly collect iterator here to trigger retry in case of an error
161
+ return list(self.do_action(endpoint, payload))
162
+ except (FlightTimedOutError, FlightUnavailableError, FlightInternalError):
163
+ self._reconnect()
164
+ raise
184
165
 
185
166
  return run_with_retry()
186
167
 
@@ -192,7 +173,11 @@ class AuthenticatedArrowClient:
192
173
  ) -> tuple[flight.FlightStreamWriter, flight.FlightMetadataReader]:
193
174
  @self._retry_config.decorator(operation_name="Do put", logger=self._logger)
194
175
  def run_with_retry() -> tuple[flight.FlightStreamWriter, flight.FlightMetadataReader]:
195
- return self._flight_client.do_put(descriptor, schema) # type: ignore
176
+ try:
177
+ return self._flight_client.do_put(descriptor, schema) # type: ignore
178
+ except (FlightTimedOutError, FlightUnavailableError, FlightInternalError):
179
+ self._reconnect()
180
+ raise
196
181
 
197
182
  return run_with_retry()
198
183
 
@@ -247,6 +232,14 @@ class AuthenticatedArrowClient:
247
232
  self.__dict__.update(state)
248
233
  self._flight_client = self._instantiate_flight_client()
249
234
 
235
+ def _reconnect(self) -> None:
236
+ try:
237
+ self._flight_client.close()
238
+ except Exception:
239
+ pass
240
+
241
+ self._flight_client = self._instantiate_flight_client()
242
+
250
243
 
251
244
  @dataclass
252
245
  class ConnectionInfo:
@@ -4,7 +4,7 @@ import base64
4
4
  import time
5
5
  from typing import Any
6
6
 
7
- from pyarrow._flight import ClientMiddleware, ClientMiddlewareFactory
7
+ from pyarrow.flight import ClientMiddleware, ClientMiddlewareFactory
8
8
 
9
9
  from graphdatascience.arrow_client.arrow_authentication import ArrowAuthentication
10
10
 
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
- from pyarrow._flight import ClientMiddleware, ClientMiddlewareFactory
5
+ from pyarrow.flight import ClientMiddleware, ClientMiddlewareFactory
6
6
 
7
7
 
8
8
  class UserAgentFactory(ClientMiddlewareFactory): # type: ignore
@@ -1,7 +1,7 @@
1
1
  import json
2
2
  from typing import Any
3
3
 
4
- from pyarrow._flight import Result
4
+ from pyarrow.flight import Result
5
5
 
6
6
 
7
7
  def deserialize_single(input_stream: list[Result]) -> dict[str, Any]:
@@ -12,11 +12,11 @@ from pyarrow.types import is_dictionary
12
12
  from pydantic import BaseModel
13
13
 
14
14
  from graphdatascience.arrow_client.arrow_endpoint_version import ArrowEndpointVersion
15
+ from graphdatascience.arrow_client.arrow_table_utils import table_from_pandas
15
16
  from graphdatascience.arrow_client.authenticated_flight_client import AuthenticatedArrowClient, ConnectionInfo
16
17
  from graphdatascience.arrow_client.v1.data_mapper_utils import deserialize_single
17
18
 
18
19
  from ...procedure_surface.arrow.error_handler import handle_flight_error
19
- from ...semantic_version.semantic_version import SemanticVersion
20
20
  from ..progress_callback import ProgressCallback
21
21
 
22
22
 
@@ -487,11 +487,13 @@ class GdsArrowClient:
487
487
  batch_size: int,
488
488
  progress_callback: ProgressCallback,
489
489
  ) -> None:
490
+ batches: list[RecordBatch]
490
491
  match data:
491
492
  case pyarrow.Table():
492
493
  batches = data.to_batches(batch_size)
493
494
  case pandas.DataFrame():
494
- batches = pyarrow.Table.from_pandas(data).to_batches(batch_size)
495
+ batches = table_from_pandas(data).to_batches(batch_size)
496
+
495
497
  case _:
496
498
  batches = data
497
499
 
@@ -562,11 +564,7 @@ class GdsArrowClient:
562
564
  except Exception as e:
563
565
  handle_flight_error(e)
564
566
  arrow_table = self._sanitize_arrow_table(arrow_table)
565
- if SemanticVersion.from_string(pandas.__version__) >= SemanticVersion(2, 0, 0):
566
- return arrow_table.to_pandas(types_mapper=pandas.ArrowDtype) # type: ignore
567
- else:
568
- arrow_table = self._sanitize_arrow_table(arrow_table)
569
- return arrow_table.to_pandas() # type: ignore
567
+ return arrow_table.to_pandas(types_mapper=pandas.ArrowDtype) # type: ignore
570
568
 
571
569
  def __enter__(self) -> GdsArrowClient:
572
570
  return self
@@ -1,7 +1,7 @@
1
1
  import json
2
2
  from typing import Any
3
3
 
4
- from pyarrow._flight import Result
4
+ from pyarrow.flight import Result
5
5
 
6
6
 
7
7
  def deserialize_single(input_stream: list[Result]) -> dict[str, Any]:
@@ -10,6 +10,7 @@ import pyarrow
10
10
  from pyarrow import RecordBatch, flight
11
11
 
12
12
  from graphdatascience.arrow_client.arrow_endpoint_version import ArrowEndpointVersion
13
+ from graphdatascience.arrow_client.arrow_table_utils import table_from_pandas
13
14
  from graphdatascience.arrow_client.authenticated_flight_client import AuthenticatedArrowClient, ConnectionInfo
14
15
  from graphdatascience.query_runner.termination_flag import TerminationFlag
15
16
 
@@ -123,7 +124,8 @@ class GdsArrowClient:
123
124
  job_id=job_id,
124
125
  )
125
126
 
126
- return JobClient.run_job_and_wait(self._flight_client, "v2/graph.nodeLabel.stream", config, log_progress)
127
+ compute_job = JobClient.run_job_and_wait(self._flight_client, "v2/graph.nodeLabel.stream", config, log_progress)
128
+ return JobClient.start_export_result(self._flight_client, graph_name, compute_job)
127
129
 
128
130
  def get_relationships(
129
131
  self,
@@ -175,14 +177,12 @@ class GdsArrowClient:
175
177
 
176
178
  return JobClient.run_job(self._flight_client, endpoint, config)
177
179
 
178
- def stream_job(self, graph_name: str, job_id: str) -> pandas.DataFrame:
180
+ def stream_job(self, job_id: str) -> pandas.DataFrame:
179
181
  """
180
182
  Streams the results of a previously started job.
181
183
 
182
184
  Parameters
183
185
  ----------
184
- graph_name
185
- The graph name.
186
186
  job_id
187
187
  Identifier for the computation.
188
188
 
@@ -191,7 +191,7 @@ class GdsArrowClient:
191
191
  DataFrame
192
192
  A pandas DataFrame containing the results of the job.
193
193
  """
194
- return JobClient().stream_results(self._flight_client, graph_name, job_id)
194
+ return JobClient().get_stream(self._flight_client, job_id)
195
195
 
196
196
  def create_graph(
197
197
  self,
@@ -415,7 +415,7 @@ class GdsArrowClient:
415
415
  job_id : str
416
416
  The job id of the process
417
417
  """
418
- self._flight_client.do_action_with_retry("v2/jobs.cancel", {"jobId": job_id})
418
+ JobClient.cancel_job(self._flight_client, job_id)
419
419
 
420
420
  def job_status(self, job_id: str) -> JobStatus:
421
421
  """
@@ -472,32 +472,21 @@ class GdsArrowClient:
472
472
 
473
473
  return self._flight_client.request_token()
474
474
 
475
+ def flight_client(self) -> AuthenticatedArrowClient:
476
+ """
477
+ Returns the underlying flight client.
478
+ """
479
+ return self._flight_client
480
+
475
481
  def _upload_data(
476
482
  self,
477
483
  endpoint: str,
478
484
  job_id: str,
479
- data: pyarrow.Table | list[pyarrow.RecordBatch] | list[pandas.DataFrame],
485
+ data: pyarrow.Table | list[pyarrow.RecordBatch] | list[pandas.DataFrame] | pandas.DataFrame,
480
486
  batch_size: int = 10000,
481
487
  progress_callback: ProgressCallback = lambda num_rows: None,
482
488
  termination_flag: TerminationFlag | None = None,
483
489
  ) -> None:
484
- if isinstance(data, pandas.DataFrame):
485
- data = [data]
486
-
487
- def map_list_entry_to_batches(e: pyarrow.RecordBatch | pandas.DataFrame) -> list[pyarrow.RecordBatch]:
488
- return [e] if isinstance(e, pyarrow.RecordBatch) else pyarrow.Table.from_pandas(e).to_batches(batch_size)
489
-
490
- batches: list[pyarrow.RecordBatch] = []
491
- match data:
492
- case list():
493
- for entry in data:
494
- partial_batches = map_list_entry_to_batches(entry)
495
- batches.extend(partial_batches)
496
- case pyarrow.Table():
497
- batches = data.to_batches(batch_size)
498
- case _:
499
- raise ValueError(f"Unsupported data type: {type(data)}")
500
-
501
490
  flight_descriptor = {
502
491
  "name": endpoint,
503
492
  "version": ArrowEndpointVersion.V2.version(),
@@ -507,11 +496,45 @@ class GdsArrowClient:
507
496
  }
508
497
  upload_descriptor = flight.FlightDescriptor.for_command(json.dumps(flight_descriptor).encode("utf-8"))
509
498
 
499
+ for batches in self._batch_groups(data, batch_size):
500
+ self._upload_batches(upload_descriptor, batches, job_id, progress_callback, termination_flag)
501
+
502
+ @staticmethod
503
+ def _batch_groups(
504
+ data: pyarrow.Table | list[pyarrow.RecordBatch] | list[pandas.DataFrame] | pandas.DataFrame,
505
+ batch_size: int,
506
+ ) -> list[list[pyarrow.RecordBatch]]:
507
+ if isinstance(data, pandas.DataFrame):
508
+ return [table_from_pandas(data).to_batches(batch_size)]
509
+
510
+ if isinstance(data, pyarrow.Table):
511
+ return [data.to_batches(batch_size)]
512
+
513
+ if isinstance(data, list):
514
+ if all(isinstance(entry, pandas.DataFrame) for entry in data):
515
+ return [table_from_pandas(entry).to_batches(batch_size) for entry in data]
516
+
517
+ if all(isinstance(entry, pyarrow.RecordBatch) for entry in data):
518
+ return [data]
519
+
520
+ raise ValueError(f"Unsupported data type: {type(data)}")
521
+
522
+ def _upload_batches(
523
+ self,
524
+ upload_descriptor: flight.FlightDescriptor,
525
+ batches: list[pyarrow.RecordBatch],
526
+ job_id: str,
527
+ progress_callback: ProgressCallback,
528
+ termination_flag: TerminationFlag | None,
529
+ ) -> None:
530
+ if not batches:
531
+ return
532
+
510
533
  put_stream, ack_stream = self._flight_client.do_put_with_retry(upload_descriptor, batches[0].schema)
511
534
 
512
535
  @self._flight_client._retry_config.decorator(operation_name="Upload batch", logger=self._logger)
513
- def upload_batch(p: RecordBatch) -> None:
514
- put_stream.write_batch(p)
536
+ def upload_batch(batch: RecordBatch) -> None:
537
+ put_stream.write_batch(batch)
515
538
 
516
539
  with put_stream:
517
540
  for partition in batches:
@@ -2,17 +2,18 @@ import json
2
2
  from typing import Any
3
3
 
4
4
  from pandas import ArrowDtype, DataFrame
5
- from pyarrow._flight import Ticket
5
+ from pyarrow.flight import Ticket
6
6
  from tenacity import Retrying, retry_if_result
7
7
 
8
8
  from graphdatascience.arrow_client.authenticated_flight_client import AuthenticatedArrowClient
9
9
  from graphdatascience.arrow_client.v2.api_types import JobIdConfig, JobStatus
10
10
  from graphdatascience.arrow_client.v2.data_mapper_utils import deserialize_single
11
- from graphdatascience.query_runner.progress.progress_bar import TqdmProgressBar
11
+ from graphdatascience.progress.progress_bar import TqdmProgressBar
12
12
  from graphdatascience.query_runner.termination_flag import TerminationFlag
13
13
  from graphdatascience.retry_utils.retry_utils import job_wait_strategy
14
14
 
15
15
  JOB_STATUS_ENDPOINT = "v2/jobs.status"
16
+ JOBS_CANCEL_ENDPOINT = "v2/jobs.cancel"
16
17
  RESULTS_SUMMARY_ENDPOINT = "v2/results.summary"
17
18
 
18
19
 
@@ -73,6 +74,10 @@ class JobClient:
73
74
  if progress_bar:
74
75
  progress_bar.update(job_status.status, job_status.progress_percent(), job_status.sub_tasks())
75
76
 
77
+ @staticmethod
78
+ def cancel_job(client: AuthenticatedArrowClient, job_id: str) -> None:
79
+ client.do_action_with_retry(JOBS_CANCEL_ENDPOINT, JobIdConfig(jobId=job_id).dump_camel())
80
+
76
81
  @staticmethod
77
82
  def get_job_status(client: AuthenticatedArrowClient, job_id: str) -> JobStatus:
78
83
  arrow_res = client.do_action_with_retry(JOB_STATUS_ENDPOINT, JobIdConfig(jobId=job_id).dump_camel())
@@ -86,14 +91,22 @@ class JobClient:
86
91
 
87
92
  @staticmethod
88
93
  def stream_results(client: AuthenticatedArrowClient, graph_name: str, job_id: str) -> DataFrame:
94
+ export_job_id = JobClient.start_export_result(client, graph_name, job_id)
95
+
96
+ return JobClient.get_stream(client, export_job_id)
97
+
98
+ @staticmethod
99
+ def start_export_result(client: AuthenticatedArrowClient, graph_name: str, job_id: str) -> str:
89
100
  payload = {
90
101
  "graphName": graph_name,
91
102
  "jobId": job_id,
92
103
  }
93
104
 
94
105
  res = client.do_action_with_retry("v2/results.stream", payload)
95
- export_job_id = JobIdConfig(**deserialize_single(res)).job_id
106
+ return JobIdConfig(**deserialize_single(res)).job_id
96
107
 
108
+ @staticmethod
109
+ def get_stream(client: AuthenticatedArrowClient, export_job_id: str) -> DataFrame:
97
110
  stream_payload = {"version": "v2", "name": export_job_id, "body": {}}
98
111
 
99
112
  ticket = Ticket(json.dumps(stream_payload).encode("utf-8"))