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.
- {graphdatascience-1.21a2/src/graphdatascience.egg-info → graphdatascience-2.0a1}/PKG-INFO +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/pyproject.toml +24 -7
- graphdatascience-2.0a1/src/graphdatascience/__init__.py +11 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_info.py +4 -6
- graphdatascience-2.0a1/src/graphdatascience/arrow_client/arrow_table_utils.py +38 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/authenticated_flight_client.py +59 -66
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/middleware/auth_middleware.py +1 -1
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/middleware/user_agent_middleware.py +1 -1
- {graphdatascience-1.21a2/src/graphdatascience/arrow_client/v2 → graphdatascience-2.0a1/src/graphdatascience/arrow_client/v1}/data_mapper_utils.py +1 -1
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/v1/gds_arrow_client.py +5 -7
- {graphdatascience-1.21a2/src/graphdatascience/arrow_client/v1 → graphdatascience-2.0a1/src/graphdatascience/arrow_client/v2}/data_mapper_utils.py +1 -1
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/v2/gds_arrow_client.py +49 -26
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/v2/job_client.py +16 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/v2/mutation_client.py +21 -1
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/datasets/graph_constructor_func.py +2 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/datasets/nx_loader.py +3 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/datasets/ogb_loader.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/datasets/simple_file_loader.py +0 -11
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/error/cypher_warning_handler.py +6 -3
- graphdatascience-2.0a1/src/graphdatascience/error/standalone_session_error.py +3 -0
- graphdatascience-2.0a1/src/graphdatascience/graph/__init__.py +3 -0
- {graphdatascience-1.21a2/src/graphdatascience/graph/v2 → graphdatascience-2.0a1/src/graphdatascience/graph}/graph_api.py +3 -3
- {graphdatascience-1.21a2/src/graphdatascience/graph/v2 → graphdatascience-2.0a1/src/graphdatascience/graph}/graph_backend_cypher.py +4 -3
- 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
- graphdatascience-2.0a1/src/graphdatascience/graph_construction/arrow_v2_graph_constructor.py +102 -0
- {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience/graph_construction}/cypher_graph_constructor.py +28 -143
- graphdatascience-1.21a2/src/graphdatascience/plugin_v2_endpoints.py → graphdatascience-2.0a1/src/graphdatascience/graph_data_science.py +419 -65
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/ignored_server_endpoints.py +0 -6
- {graphdatascience-1.21a2/src/graphdatascience/model/v2 → graphdatascience-2.0a1/src/graphdatascience/model}/model.py +3 -7
- {graphdatascience-1.21a2/src/graphdatascience/model/v2 → graphdatascience-2.0a1/src/graphdatascience/model}/model_api.py +1 -1
- {graphdatascience-1.21a2/src/graphdatascience/model/v2 → graphdatascience-2.0a1/src/graphdatascience/model}/model_details.py +4 -4
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/__init__.py +12 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/__init__.py +3 -1
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/catalog_endpoints.py +45 -24
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/dataset_endpoints.py +13 -12
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/graph_sampling_endpoints.py +12 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/node_label_endpoints.py +3 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/node_properties_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/catalog/relationships_data_frame.py +47 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/relationships_endpoints.py +20 -16
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/scale_properties_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/articlerank_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/articulationpoints_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/betweenness_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/bridges_endpoints.py +3 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/celf_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/closeness_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/closeness_harmonic_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/degree_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/eigenvector_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/pagerank_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/collapse_path_endpoints.py +57 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/__init__.py +2 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/clique_counting_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/conductance_endpoints.py +2 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/hdbscan_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/k1coloring_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/kcore_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/kmeans_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/labelpropagation_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/leiden_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/local_clustering_coefficient_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/louvain_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/maxkcut_endpoints.py +4 -4
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/modularity_endpoints.py +4 -4
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/modularity_optimization_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/scc_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/sllpa_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/triangle_count_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/community/triangles_endpoints.py +61 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/community/wcc_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/debug_endpoints.py +43 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/default_values.py +2 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/job_handle.py +135 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/job_not_finished_error.py +9 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/kge/__init__.py +17 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/kge/kge_endpoints.py +69 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/kge/kge_predict_endpoints.py +218 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/kge/simple_rel_embedding_model.py +227 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/license_endpoints.py +23 -0
- 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
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/model/graphsage_model.py +12 -12
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/model/link_prediction_model.py +144 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/model/model_catalog_endpoints.py +23 -8
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/model/node_classification_model.py +255 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/model/node_regression_model.py +131 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/model/pipeline_model.py +52 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/__init__.py +8 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/node_embedding/fastpath_endpoints.py +280 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/fastrp_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_predict_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_train_endpoints.py +7 -7
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/hashgnn_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/node_embedding/node2vec_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/__init__.py +8 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/all_shortest_path_endpoints.py +3 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/bfs_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/dfs_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/dijkstra_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/k_spanning_tree_endpoints.py +2 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/longest_path_endpoints.py +2 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/max_flow_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/max_flow_min_cost_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/prize_steiner_tree_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pathfinding/random_walk_endpoints.py +279 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/single_source_bellman_ford_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/single_source_delta_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/single_source_dijkstra_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/source_target_astar_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/source_target_dijkstra_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/source_target_yens_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/spanning_tree_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/steiner_tree_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/__init__.py +71 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_pipeline.py +224 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_pipeline_endpoints.py +307 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_pipeline_protocol.py +90 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_pipeline_results.py +27 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_predict_endpoints.py +94 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/link_prediction_train_endpoints.py +140 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_pipeline.py +423 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_pipeline_endpoints.py +292 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_pipeline_protocol.py +79 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_pipeline_results.py +28 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_predict_endpoints.py +228 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_classification_train_endpoints.py +134 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_metric.py +7 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_pipeline.py +281 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_pipeline_endpoints.py +284 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_pipeline_protocol.py +78 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_pipeline_results.py +27 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/node_regression_predict_endpoints.py +113 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/parameter_space_config.py +25 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/pipeline_catalog_protocol.py +16 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/pipeline/pipeline_endpoints.py +64 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/projection_job_handle.py +72 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/__init__.py +2 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/knn_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/knn_filtered_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/node_similarity_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/node_similarity_filtered_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/similarity/similarity_functions.py +186 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/topological_link_prediction_endpoints.py +187 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/util_endpoints.py +93 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/api/write_job_handle.py +143 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/catalog/catalog_arrow_endpoints.py +569 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/graph_backend_arrow.py +4 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/graph_sampling_arrow_endpoints.py +8 -4
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/node_label_arrow_endpoints.py +7 -7
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/node_properties_arrow_endpoints.py +18 -13
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/relationship_arrow_endpoints.py +30 -26
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/scale_properties_arrow_endpoints.py +9 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/articlerank_arrow_endpoints.py +46 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/articulationpoints_arrow_endpoints.py +34 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/betweenness_arrow_endpoints.py +40 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/bridges_arrow_endpoints.py +30 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/celf_arrow_endpoints.py +41 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/closeness_arrow_endpoints.py +36 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/closeness_harmonic_arrow_endpoints.py +34 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/degree_arrow_endpoints.py +37 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/eigenvector_arrow_endpoints.py +45 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/centrality/pagerank_arrow_endpoints.py +94 -9
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/collapse_path_arrow_endpoints.py +49 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/clique_counting_arrow_endpoints.py +34 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/conductance_arrow_endpoints.py +30 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/hdbscan_arrow_endpoints.py +43 -10
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/k1coloring_arrow_endpoints.py +38 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/kcore_arrow_endpoints.py +33 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/kmeans_arrow_endpoints.py +52 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/labelpropagation_arrow_endpoints.py +44 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/leiden_arrow_endpoints.py +53 -10
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/local_clustering_coefficient_arrow_endpoints.py +36 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/louvain_arrow_endpoints.py +47 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/maxkcut_arrow_endpoints.py +43 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/modularity_arrow_endpoints.py +32 -4
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/modularity_optimization_arrow_endpoints.py +46 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/scc_arrow_endpoints.py +35 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/sllpa_arrow_endpoints.py +40 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/triangle_count_arrow_endpoints.py +39 -10
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/community/triangles_arrow_endpoints.py +48 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/community/wcc_arrow_endpoints.py +41 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/endpoints_helper_base.py +39 -51
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/jobs_arrow_endpoints.py +105 -0
- 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
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/model/model_catalog_arrow_endpoints.py +11 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/model_api_arrow.py +2 -2
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/mutation_runner.py +63 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/node_embedding/fastpath_arrow_endpoints.py +220 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_embedding/fastrp_arrow_endpoints.py +49 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_embedding/graphsage_predict_arrow_endpoints.py +37 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_embedding/graphsage_train_arrow_endpoints.py +12 -12
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_embedding/hashgnn_arrow_endpoints.py +51 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_embedding/node2vec_arrow_endpoints.py +65 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/node_property_endpoints.py +8 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/all_shortest_path_arrow_endpoints.py +34 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/bfs_arrow_endpoints.py +38 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/dfs_arrow_endpoints.py +38 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/dijkstra_arrow_endpoints.py +39 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/k_spanning_tree_arrow_endpoints.py +38 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/longest_path_arrow_endpoints.py +30 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/max_flow_arrow_endpoints.py +43 -10
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/max_flow_min_cost_arrow_endpoints.py +46 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/prize_steiner_tree_arrow_endpoints.py +38 -9
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pathfinding/random_walk_arrow_endpoints.py +202 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/shortest_path_arrow_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_bellman_ford_arrow_endpoints.py +38 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_delta_arrow_endpoints.py +40 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_dijkstra_arrow_endpoints.py +37 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_astar_arrow_endpoints.py +43 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_dijkstra_arrow_endpoints.py +39 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_yens_arrow_endpoints.py +41 -8
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/spanning_tree_arrow_endpoints.py +40 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/steiner_tree_arrow_endpoints.py +44 -9
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/__init__.py +21 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/link_prediction_pipeline_arrow_endpoints.py +262 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/link_prediction_predict_arrow_endpoints.py +166 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/link_prediction_train_arrow_endpoints.py +134 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/node_classification_pipeline_arrow_endpoints.py +247 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/node_classification_predict_arrow_endpoints.py +185 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/node_classification_train_arrow_endpoints.py +131 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/node_regression_pipeline_arrow_endpoints.py +232 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/node_regression_predict_arrow_endpoints.py +97 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/pipeline_arrow_endpoints.py +50 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pipeline/pipeline_catalog_arrow_endpoints.py +49 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/relationship_endpoints_helper.py +2 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/similarity/knn_arrow_endpoints.py +55 -10
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/similarity/knn_filtered_arrow_endpoints.py +60 -9
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/similarity/node_similarity_arrow_endpoints.py +102 -10
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/similarity/node_similarity_filtered_arrow_endpoints.py +58 -9
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/stream_result_mapper.py +115 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/topological_link_prediction_arrow_endpoints.py +65 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/util_arrow_endpoints.py +57 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/__init__.py +3 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/__init__.py +2 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/catalog_cypher_endpoints.py +134 -53
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/graph_sampling_cypher_endpoints.py +9 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/node_label_cypher_endpoints.py +3 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/node_properties_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/relationship_cypher_endpoints.py +37 -29
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/scale_properties_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/articlerank_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/articulationpoints_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/betweenness_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/bridges_cypher_endpoints.py +3 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/celf_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/closeness_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/closeness_harmonic_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/degree_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/eigenvector_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/centrality/pagerank_cypher_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/collapse_path_cypher_endpoints.py +49 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/clique_counting_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/conductance_cypher_endpoints.py +2 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/hdbscan_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/k1coloring_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/kcore_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/kmeans_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/labelpropagation_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/leiden_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/local_clustering_coefficient_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/louvain_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/maxkcut_cypher_endpoints.py +4 -4
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/modularity_cypher_endpoints.py +4 -4
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/modularity_optimization_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/scc_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/sllpa_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/triangle_count_cypher_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/community/triangles_cypher_endpoints.py +46 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/community/wcc_cypher_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/debug_cypher_endpoints.py +15 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/estimation_utils.py +3 -3
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/kge/__init__.py +5 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/kge/kge_predict_cypher_endpoints.py +148 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/license_cypher_endpoints.py +22 -0
- 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
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/model/model_catalog_cypher_endpoints.py +9 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/model_api_cypher.py +2 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/node_embedding/fastrp_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/node_embedding/graphsage_predict_cypher_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/node_embedding/graphsage_train_cypher_endpoints.py +7 -7
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/node_embedding/hashgnn_cypher_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/node_embedding/node2vec_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/all_shortest_path_cypher_endpoints.py +3 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/bfs_cypher_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/dfs_cypher_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/dijkstra_cypher_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/k_spanning_tree_cypher_endpoints.py +2 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/longest_path_cypher_endpoints.py +2 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/max_flow_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/max_flow_min_cost_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/prize_steiner_tree_cypher_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pathfinding/random_walk_cypher_endpoints.py +193 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_bellman_ford_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_delta_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_dijkstra_cypher_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_astar_cypher_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_dijkstra_cypher_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_yens_cypher_endpoints.py +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/spanning_tree_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/steiner_tree_cypher_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/__init__.py +19 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/link_prediction_pipeline_cypher_endpoints.py +252 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/link_prediction_predict_cypher_endpoints.py +157 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/link_prediction_train_cypher_endpoints.py +120 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/node_classification_pipeline_cypher_endpoints.py +237 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/node_classification_predict_cypher_endpoints.py +151 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/node_classification_train_cypher_endpoints.py +115 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/node_regression_pipeline_cypher_endpoints.py +224 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/node_regression_predict_cypher_endpoints.py +78 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/pipeline_catalog_cypher_endpoints.py +52 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pipeline/pipeline_cypher_endpoints.py +27 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/similarity/knn_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/similarity/knn_filtered_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/similarity/node_similarity_cypher_endpoints.py +6 -6
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/similarity/node_similarity_filtered_cypher_endpoints.py +6 -6
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/topological_link_prediction_cypher_endpoints.py +138 -0
- graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/util_cypher_endpoints.py +38 -0
- {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience}/progress/progress_bar.py +4 -4
- {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience}/progress/query_progress_logger.py +3 -9
- {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience}/progress/query_progress_provider.py +2 -11
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/neo4j_query_runner.py +16 -74
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/query_runner.py +0 -7
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/retry_utils/neo4j_retry_helper.py +0 -3
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/aura_api_responses.py +13 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/aura_api_token_authentication.py +1 -1
- graphdatascience-1.21a2/src/graphdatascience/session/session_v2_endpoints.py → graphdatascience-2.0a1/src/graphdatascience/session/aura_graph_data_science.py +443 -79
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/dbms/protocol_resolver.py +2 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/dbms/protocol_version.py +1 -0
- graphdatascience-1.21a2/src/graphdatascience/session/dedicated_sessions.py → graphdatascience-2.0a1/src/graphdatascience/session/gds_sessions.py +168 -54
- graphdatascience-2.0a1/src/graphdatascience/session/remote_ops/arrow_config.py +23 -0
- graphdatascience-2.0a1/src/graphdatascience/session/remote_ops/project_protocols.py +279 -0
- graphdatascience-2.0a1/src/graphdatascience/session/remote_ops/projection_runner.py +147 -0
- graphdatascience-2.0a1/src/graphdatascience/session/remote_ops/write_protocols.py +193 -0
- graphdatascience-2.0a1/src/graphdatascience/session/session_lifecycle_manager.py +35 -0
- graphdatascience-2.0a1/src/graphdatascience/version.py +2 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1/src/graphdatascience.egg-info}/PKG-INFO +5 -5
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience.egg-info/SOURCES.txt +111 -101
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience.egg-info/requires.txt +4 -4
- graphdatascience-1.21a2/src/graphdatascience/__init__.py +0 -36
- graphdatascience-1.21a2/src/graphdatascience/algo/algo_endpoints.py +0 -24
- graphdatascience-1.21a2/src/graphdatascience/algo/algo_proc_runner.py +0 -45
- graphdatascience-1.21a2/src/graphdatascience/algo/single_mode_algo_endpoints.py +0 -18
- graphdatascience-1.21a2/src/graphdatascience/arrow_client/v2/remote_write_back_client.py +0 -83
- graphdatascience-1.21a2/src/graphdatascience/call_builder.py +0 -21
- graphdatascience-1.21a2/src/graphdatascience/caller_base.py +0 -23
- graphdatascience-1.21a2/src/graphdatascience/endpoints.py +0 -105
- graphdatascience-1.21a2/src/graphdatascience/error/client_only_endpoint.py +0 -43
- graphdatascience-1.21a2/src/graphdatascience/error/endpoint_suggester.py +0 -29
- graphdatascience-1.21a2/src/graphdatascience/error/illegal_attr_checker.py +0 -16
- graphdatascience-1.21a2/src/graphdatascience/error/uncallable_namespace.py +0 -16
- graphdatascience-1.21a2/src/graphdatascience/graph/base_graph_proc_runner.py +0 -570
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_alpha_proc_runner.py +0 -81
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_beta_proc_runner.py +0 -43
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_create_result.py +0 -28
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_cypher_runner.py +0 -125
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_endpoints.py +0 -15
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_entity_ops_runner.py +0 -426
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_export_runner.py +0 -52
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_object.py +0 -232
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_proc_runner.py +0 -15
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_project_runner.py +0 -72
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_remote_proc_runner.py +0 -8
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_remote_project_runner.py +0 -49
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_sample_runner.py +0 -72
- graphdatascience-1.21a2/src/graphdatascience/graph/graph_type_check.py +0 -34
- graphdatascience-1.21a2/src/graphdatascience/graph/nx_loader.py +0 -46
- graphdatascience-1.21a2/src/graphdatascience/graph/ogb_loader.py +0 -76
- graphdatascience-1.21a2/src/graphdatascience/graph/v2/__init__.py +0 -4
- graphdatascience-1.21a2/src/graphdatascience/graph_data_science.py +0 -393
- graphdatascience-1.21a2/src/graphdatascience/model/graphsage_model.py +0 -56
- graphdatascience-1.21a2/src/graphdatascience/model/link_prediction_model.py +0 -45
- graphdatascience-1.21a2/src/graphdatascience/model/model.py +0 -301
- graphdatascience-1.21a2/src/graphdatascience/model/model_alpha_proc_runner.py +0 -51
- graphdatascience-1.21a2/src/graphdatascience/model/model_beta_proc_runner.py +0 -33
- graphdatascience-1.21a2/src/graphdatascience/model/model_endpoints.py +0 -22
- graphdatascience-1.21a2/src/graphdatascience/model/model_proc_runner.py +0 -151
- graphdatascience-1.21a2/src/graphdatascience/model/model_resolver.py +0 -21
- graphdatascience-1.21a2/src/graphdatascience/model/node_classification_model.py +0 -78
- graphdatascience-1.21a2/src/graphdatascience/model/node_regression_model.py +0 -25
- graphdatascience-1.21a2/src/graphdatascience/model/pipeline_model.py +0 -104
- graphdatascience-1.21a2/src/graphdatascience/model/simple_rel_embedding_model.py +0 -196
- graphdatascience-1.21a2/src/graphdatascience/model/v2/graphsage_model.py +0 -0
- graphdatascience-1.21a2/src/graphdatascience/pipeline/classification_training_pipeline.py +0 -67
- graphdatascience-1.21a2/src/graphdatascience/pipeline/lp_pipeline_create_runner.py +0 -20
- graphdatascience-1.21a2/src/graphdatascience/pipeline/lp_training_pipeline.py +0 -52
- graphdatascience-1.21a2/src/graphdatascience/pipeline/nc_pipeline_create_runner.py +0 -20
- graphdatascience-1.21a2/src/graphdatascience/pipeline/nc_training_pipeline.py +0 -52
- graphdatascience-1.21a2/src/graphdatascience/pipeline/nr_pipeline_create_runner.py +0 -20
- graphdatascience-1.21a2/src/graphdatascience/pipeline/nr_training_pipeline.py +0 -83
- graphdatascience-1.21a2/src/graphdatascience/pipeline/pipeline_alpha_proc_runner.py +0 -9
- graphdatascience-1.21a2/src/graphdatascience/pipeline/pipeline_beta_proc_runner.py +0 -32
- graphdatascience-1.21a2/src/graphdatascience/pipeline/pipeline_endpoints.py +0 -68
- graphdatascience-1.21a2/src/graphdatascience/pipeline/pipeline_proc_runner.py +0 -62
- graphdatascience-1.21a2/src/graphdatascience/pipeline/training_pipeline.py +0 -269
- graphdatascience-1.21a2/src/graphdatascience/procedure_surface/api/__init__.py +0 -5
- graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/catalog/catalog_arrow_endpoints.py +0 -366
- graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/stream_result_mapper.py +0 -69
- graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/__init__.py +0 -3
- graphdatascience-1.21a2/src/graphdatascience/query_runner/arrow_authentication/__init__.py +0 -3
- graphdatascience-1.21a2/src/graphdatascience/query_runner/arrow_info/__init__.py +0 -5
- graphdatascience-1.21a2/src/graphdatascience/query_runner/arrow_query_runner.py +0 -272
- graphdatascience-1.21a2/src/graphdatascience/query_runner/gds_arrow_client.py +0 -1004
- graphdatascience-1.21a2/src/graphdatascience/query_runner/protocol/project_protocols.py +0 -197
- graphdatascience-1.21a2/src/graphdatascience/query_runner/protocol/write_protocols.py +0 -198
- graphdatascience-1.21a2/src/graphdatascience/query_runner/session_query_runner.py +0 -291
- graphdatascience-1.21a2/src/graphdatascience/query_runner/standalone_session_query_runner.py +0 -109
- graphdatascience-1.21a2/src/graphdatascience/semantic_version/__init__.py +0 -0
- graphdatascience-1.21a2/src/graphdatascience/server_version/__init__.py +0 -0
- graphdatascience-1.21a2/src/graphdatascience/server_version/compatible_with.py +0 -43
- graphdatascience-1.21a2/src/graphdatascience/session/aura_graph_data_science.py +0 -303
- graphdatascience-1.21a2/src/graphdatascience/session/dbms/__init__.py +0 -0
- graphdatascience-1.21a2/src/graphdatascience/session/gds_sessions.py +0 -205
- graphdatascience-1.21a2/src/graphdatascience/session/session_lifecycle_manager.py +0 -14
- graphdatascience-1.21a2/src/graphdatascience/system/__init__.py +0 -0
- graphdatascience-1.21a2/src/graphdatascience/system/config_endpoints.py +0 -61
- graphdatascience-1.21a2/src/graphdatascience/system/system_endpoints.py +0 -144
- graphdatascience-1.21a2/src/graphdatascience/topological_lp/__init__.py +0 -0
- graphdatascience-1.21a2/src/graphdatascience/topological_lp/topological_lp_alpha_endpoints.py +0 -8
- graphdatascience-1.21a2/src/graphdatascience/topological_lp/topological_lp_alpha_runner.py +0 -52
- graphdatascience-1.21a2/src/graphdatascience/topological_lp/topological_lp_runner.py +0 -72
- graphdatascience-1.21a2/src/graphdatascience/utils/__init__.py +0 -0
- graphdatascience-1.21a2/src/graphdatascience/utils/direct_util_endpoints.py +0 -115
- graphdatascience-1.21a2/src/graphdatascience/utils/util_node_property_func_runner.py +0 -31
- graphdatascience-1.21a2/src/graphdatascience/utils/util_proc_runner.py +0 -60
- graphdatascience-1.21a2/src/graphdatascience/utils/util_remote_proc_runner.py +0 -55
- graphdatascience-1.21a2/src/graphdatascience/version.py +0 -2
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/LICENSE +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/MANIFEST.in +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/README.md +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/setup.cfg +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/algo → graphdatascience-2.0a1/src/graphdatascience/arrow_client}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_authentication.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_base_model.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_client_options_util.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_endpoint_version.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/arrow_client → graphdatascience-2.0a1/src/graphdatascience/arrow_client/middleware}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/progress_callback.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/arrow_client/middleware → graphdatascience-2.0a1/src/graphdatascience/arrow_client/v1}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/arrow_client/v1 → graphdatascience-2.0a1/src/graphdatascience/arrow_client/v2}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/v2/api_types.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/call_parameters.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/arrow_client/v2 → graphdatascience-2.0a1/src/graphdatascience/datasets}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/datasets → graphdatascience-2.0a1/src/graphdatascience/error}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/error/gds_not_installed.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/error/unable_to_connect.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/graph/v2 → graphdatascience-2.0a1/src/graphdatascience/graph}/graph_backend.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/error → graphdatascience-2.0a1/src/graphdatascience/graph_construction}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience/graph_construction}/graph_constructor.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/graph → graphdatascience-2.0a1/src/graphdatascience/model}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/base_result.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/graph_info.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/catalog/scaler_config.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/centrality/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/config_endpoints.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/estimation_result.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/model/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/dag_endpoints.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/pathfinding/shortest_path_endpoints.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/knn_results.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/api/similarity/node_similarity_results.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/model → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/catalog/graph_ops_arrow.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/model/v2 → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/centrality}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/pipeline → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/community}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/config_arrow_endpoints.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/error_handler.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/model/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/node_embedding}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/centrality → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/pathfinding}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/pathfinding/dag_arrow_endpoints.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/community → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/arrow/similarity}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/arrow/table_endpoints_helper.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/catalog/utils.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/node_embedding → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/centrality}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/pathfinding → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/community}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/config_cypher_endpoints.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/model/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/arrow/similarity → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/node_embedding}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/centrality → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/pathfinding}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/dag_cypher_endpoints.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/cypher/pathfinding/shortest_path_cypher_endpoints.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/community → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/cypher/similarity}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/node_embedding → graphdatascience-2.0a1/src/graphdatascience/procedure_surface/utils}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/utils/config_converter.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/procedure_surface/utils/result_utils.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/pathfinding → graphdatascience-2.0a1/src/graphdatascience/progress}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience}/progress/progress_provider.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience}/progress/static_progress_provider.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/py.typed +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/query_mode.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/query_type.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/query_runner/termination_flag.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/cypher/similarity → graphdatascience-2.0a1/src/graphdatascience/resources}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/procedure_surface/utils → graphdatascience-2.0a1/src/graphdatascience/resources/cora}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/cora/cora_nodes.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/cora/cora_rels.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/cora/serialize_cora.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/query_runner/progress → graphdatascience-2.0a1/src/graphdatascience/resources/imdb}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_acted_in.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_actors.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_directed_in.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_directors.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_movies_with_genre.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/imdb_movies_without_genre.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/imdb/serialize_imdb.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/query_runner/protocol → graphdatascience-2.0a1/src/graphdatascience/resources/karate}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/karate/karate_club.parquet.gzip +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/resources → graphdatascience-2.0a1/src/graphdatascience/resources/lastfm}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/artist_nodes.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/serialize_lastfm.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/user_friend_df_directed.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/user_listen_artist_rels.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/user_nodes.parquet.gzip +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/resources/lastfm/user_tag_artist_rels.parquet.gzip +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/resources/cora → graphdatascience-2.0a1/src/graphdatascience/retry_utils}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/retry_utils/retry_config.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/retry_utils/retry_utils.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/resources/imdb → graphdatascience-2.0a1/src/graphdatascience/semantic_version}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/semantic_version/semantic_version.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/resources/karate → graphdatascience-2.0a1/src/graphdatascience/server_version}/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/server_version/server_version.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/__init__.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/algorithm_category.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/aura_api.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/cloud_location.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/resources/lastfm → graphdatascience-2.0a1/src/graphdatascience/session/dbms}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/query_runner → graphdatascience-2.0a1/src/graphdatascience/session/dbms}/db_environment_resolver.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/dbms_connection_info.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/region_suggester.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/retry_utils → graphdatascience-2.0a1/src/graphdatascience/session/remote_ops}/__init__.py +0 -0
- {graphdatascience-1.21a2/src/graphdatascience/query_runner/protocol → graphdatascience-2.0a1/src/graphdatascience/session/remote_ops}/status.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/session_info.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/session/session_sizes.py +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience.egg-info/dependency_links.txt +0 -0
- {graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience.egg-info/not-zip-safe +0 -0
- {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:
|
|
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,>=
|
|
31
|
-
Requires-Dist: numpy<
|
|
32
|
-
Requires-Dist: pandas<
|
|
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,>=
|
|
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 >=
|
|
33
|
-
"numpy <
|
|
34
|
-
"pandas
|
|
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 >=
|
|
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.
|
|
109
|
-
"torch-sparse==0.6.
|
|
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
|
+
]
|
{graphdatascience-1.21a2 → graphdatascience-2.0a1}/src/graphdatascience/arrow_client/arrow_info.py
RENAMED
|
@@ -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",
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
90
|
-
The host address of the GDS Arrow server
|
|
91
|
-
|
|
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
|
|
52
|
+
encrypted
|
|
96
53
|
A flag that indicates whether the connection should be encrypted (default is False)
|
|
97
|
-
arrow_client_options
|
|
54
|
+
arrow_client_options
|
|
98
55
|
Additional options to be passed to the Arrow Flight client.
|
|
99
|
-
user_agent
|
|
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
|
|
58
|
+
retry_config
|
|
102
59
|
The retry configuration to use for the Arrow requests send by the client.
|
|
103
|
-
advertised_listen_address
|
|
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 =
|
|
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
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
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
|
-
|
|
182
|
-
|
|
183
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
5
|
+
from pyarrow.flight import ClientMiddleware, ClientMiddlewareFactory
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class UserAgentFactory(ClientMiddlewareFactory): # type: ignore
|
|
@@ -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 =
|
|
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
|
-
|
|
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
|
|
@@ -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
|
-
|
|
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,
|
|
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().
|
|
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
|
|
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(
|
|
514
|
-
put_stream.write_batch(
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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"))
|