graphdatascience 1.20a2__tar.gz → 1.21a2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. {graphdatascience-1.20a2/src/graphdatascience.egg-info → graphdatascience-1.21a2}/PKG-INFO +1 -1
  2. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/pyproject.toml +7 -2
  3. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/arrow_info.py +4 -3
  4. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/endpoints.py +11 -0
  5. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_cypher_runner.py +7 -7
  6. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_entity_ops_runner.py +2 -0
  7. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/v2/graph_api.py +1 -1
  8. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph_data_science.py +28 -17
  9. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/catalog/catalog_endpoints.py +8 -2
  10. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/catalog/graph_info.py +1 -1
  11. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/model/model_catalog_endpoints.py +4 -2
  12. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/model/model_catalog_arrow_endpoints.py +10 -5
  13. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/model/model_catalog_cypher_endpoints.py +17 -5
  14. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/utils/result_utils.py +2 -0
  15. graphdatascience-1.21a2/src/graphdatascience/query_runner/__init__.py +5 -0
  16. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/arrow_query_runner.py +20 -5
  17. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/cypher_graph_constructor.py +4 -0
  18. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/db_environment_resolver.py +6 -2
  19. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/neo4j_query_runner.py +41 -10
  20. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/progress/query_progress_logger.py +0 -1
  21. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/protocol/project_protocols.py +19 -2
  22. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/protocol/write_protocols.py +6 -6
  23. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/query_runner.py +10 -5
  24. graphdatascience-1.21a2/src/graphdatascience/query_runner/query_type.py +9 -0
  25. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/session_query_runner.py +37 -15
  26. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/standalone_session_query_runner.py +16 -5
  27. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/aura_api.py +21 -4
  28. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/aura_graph_data_science.py +14 -4
  29. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/dbms/protocol_resolver.py +2 -2
  30. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/dedicated_sessions.py +15 -3
  31. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/gds_sessions.py +23 -3
  32. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/system/system_endpoints.py +4 -1
  33. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/topological_lp/topological_lp_alpha_runner.py +3 -4
  34. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/topological_lp/topological_lp_runner.py +14 -4
  35. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/utils/direct_util_endpoints.py +5 -2
  36. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/utils/util_proc_runner.py +3 -12
  37. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/utils/util_remote_proc_runner.py +7 -2
  38. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/version.py +1 -1
  39. {graphdatascience-1.20a2 → graphdatascience-1.21a2/src/graphdatascience.egg-info}/PKG-INFO +1 -1
  40. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience.egg-info/SOURCES.txt +1 -1
  41. graphdatascience-1.20a2/src/graphdatascience/session/aurads_sessions.py +0 -0
  42. graphdatascience-1.20a2/src/graphdatascience/utils/__init__.py +0 -0
  43. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/LICENSE +0 -0
  44. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/MANIFEST.in +0 -0
  45. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/README.md +0 -0
  46. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/setup.cfg +0 -0
  47. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/__init__.py +0 -0
  48. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/algo/__init__.py +0 -0
  49. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/algo/algo_endpoints.py +0 -0
  50. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/algo/algo_proc_runner.py +0 -0
  51. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/algo/single_mode_algo_endpoints.py +0 -0
  52. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/__init__.py +0 -0
  53. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/arrow_authentication.py +0 -0
  54. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/arrow_base_model.py +0 -0
  55. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/arrow_client_options_util.py +0 -0
  56. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/arrow_endpoint_version.py +0 -0
  57. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/authenticated_flight_client.py +0 -0
  58. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/middleware/__init__.py +0 -0
  59. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/middleware/auth_middleware.py +0 -0
  60. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/middleware/user_agent_middleware.py +0 -0
  61. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/progress_callback.py +0 -0
  62. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/v1/__init__.py +0 -0
  63. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/v1/data_mapper_utils.py +0 -0
  64. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/v1/gds_arrow_client.py +0 -0
  65. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/v2/__init__.py +0 -0
  66. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/v2/api_types.py +0 -0
  67. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/v2/data_mapper_utils.py +0 -0
  68. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/v2/gds_arrow_client.py +0 -0
  69. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/v2/job_client.py +0 -0
  70. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/v2/mutation_client.py +0 -0
  71. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/arrow_client/v2/remote_write_back_client.py +0 -0
  72. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/call_builder.py +0 -0
  73. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/call_parameters.py +0 -0
  74. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/caller_base.py +0 -0
  75. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/datasets/__init__.py +0 -0
  76. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/datasets/graph_constructor_func.py +0 -0
  77. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/datasets/nx_loader.py +0 -0
  78. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/datasets/ogb_loader.py +0 -0
  79. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/datasets/simple_file_loader.py +0 -0
  80. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/error/__init__.py +0 -0
  81. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/error/client_only_endpoint.py +0 -0
  82. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/error/cypher_warning_handler.py +0 -0
  83. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/error/endpoint_suggester.py +0 -0
  84. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/error/gds_not_installed.py +0 -0
  85. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/error/illegal_attr_checker.py +0 -0
  86. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/error/unable_to_connect.py +0 -0
  87. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/error/uncallable_namespace.py +0 -0
  88. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/__init__.py +0 -0
  89. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/base_graph_proc_runner.py +0 -0
  90. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_alpha_proc_runner.py +0 -0
  91. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_beta_proc_runner.py +0 -0
  92. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_create_result.py +0 -0
  93. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_endpoints.py +0 -0
  94. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_export_runner.py +0 -0
  95. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_object.py +0 -0
  96. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_proc_runner.py +0 -0
  97. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_project_runner.py +0 -0
  98. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_remote_proc_runner.py +0 -0
  99. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_remote_project_runner.py +0 -0
  100. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_sample_runner.py +0 -0
  101. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/graph_type_check.py +0 -0
  102. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/nx_loader.py +0 -0
  103. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/ogb_loader.py +0 -0
  104. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/v2/__init__.py +0 -0
  105. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/v2/graph_backend.py +0 -0
  106. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/graph/v2/graph_backend_cypher.py +0 -0
  107. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/ignored_server_endpoints.py +0 -0
  108. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/__init__.py +0 -0
  109. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/graphsage_model.py +0 -0
  110. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/link_prediction_model.py +0 -0
  111. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/model.py +0 -0
  112. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/model_alpha_proc_runner.py +0 -0
  113. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/model_beta_proc_runner.py +0 -0
  114. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/model_endpoints.py +0 -0
  115. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/model_proc_runner.py +0 -0
  116. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/model_resolver.py +0 -0
  117. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/node_classification_model.py +0 -0
  118. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/node_regression_model.py +0 -0
  119. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/pipeline_model.py +0 -0
  120. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/simple_rel_embedding_model.py +0 -0
  121. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/v2/__init__.py +0 -0
  122. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/v2/graphsage_model.py +0 -0
  123. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/v2/model.py +0 -0
  124. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/v2/model_api.py +0 -0
  125. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/model/v2/model_details.py +0 -0
  126. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/__init__.py +0 -0
  127. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/classification_training_pipeline.py +0 -0
  128. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/lp_pipeline_create_runner.py +0 -0
  129. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/lp_training_pipeline.py +0 -0
  130. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/nc_pipeline_create_runner.py +0 -0
  131. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/nc_training_pipeline.py +0 -0
  132. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/nr_pipeline_create_runner.py +0 -0
  133. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/nr_training_pipeline.py +0 -0
  134. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/pipeline_alpha_proc_runner.py +0 -0
  135. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/pipeline_beta_proc_runner.py +0 -0
  136. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/pipeline_endpoints.py +0 -0
  137. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/pipeline_proc_runner.py +0 -0
  138. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/pipeline/training_pipeline.py +0 -0
  139. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/plugin_v2_endpoints.py +0 -0
  140. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/__init__.py +0 -0
  141. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/__init__.py +0 -0
  142. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/base_result.py +0 -0
  143. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/catalog/__init__.py +0 -0
  144. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/catalog/dataset_endpoints.py +0 -0
  145. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/catalog/graph_sampling_endpoints.py +0 -0
  146. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/catalog/node_label_endpoints.py +0 -0
  147. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/catalog/node_properties_endpoints.py +0 -0
  148. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/catalog/relationships_endpoints.py +0 -0
  149. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/catalog/scale_properties_endpoints.py +0 -0
  150. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/catalog/scaler_config.py +0 -0
  151. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/__init__.py +0 -0
  152. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/articlerank_endpoints.py +0 -0
  153. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/articulationpoints_endpoints.py +0 -0
  154. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/betweenness_endpoints.py +0 -0
  155. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/bridges_endpoints.py +0 -0
  156. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/celf_endpoints.py +0 -0
  157. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/closeness_endpoints.py +0 -0
  158. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/closeness_harmonic_endpoints.py +0 -0
  159. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/degree_endpoints.py +0 -0
  160. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/eigenvector_endpoints.py +0 -0
  161. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/centrality/pagerank_endpoints.py +0 -0
  162. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/__init__.py +0 -0
  163. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/clique_counting_endpoints.py +0 -0
  164. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/conductance_endpoints.py +0 -0
  165. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/hdbscan_endpoints.py +0 -0
  166. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/k1coloring_endpoints.py +0 -0
  167. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/kcore_endpoints.py +0 -0
  168. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/kmeans_endpoints.py +0 -0
  169. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/labelpropagation_endpoints.py +0 -0
  170. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/leiden_endpoints.py +0 -0
  171. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/local_clustering_coefficient_endpoints.py +0 -0
  172. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/louvain_endpoints.py +0 -0
  173. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/maxkcut_endpoints.py +0 -0
  174. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/modularity_endpoints.py +0 -0
  175. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/modularity_optimization_endpoints.py +0 -0
  176. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/scc_endpoints.py +0 -0
  177. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/sllpa_endpoints.py +0 -0
  178. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/triangle_count_endpoints.py +0 -0
  179. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/community/wcc_endpoints.py +0 -0
  180. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/config_endpoints.py +0 -0
  181. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/default_values.py +0 -0
  182. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/estimation_result.py +0 -0
  183. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/model/__init__.py +0 -0
  184. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/model/graphsage_model.py +0 -0
  185. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/node_embedding/__init__.py +0 -0
  186. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/node_embedding/fastrp_endpoints.py +0 -0
  187. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_endpoints.py +0 -0
  188. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_predict_endpoints.py +0 -0
  189. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/node_embedding/graphsage_train_endpoints.py +0 -0
  190. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/node_embedding/hashgnn_endpoints.py +0 -0
  191. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/node_embedding/node2vec_endpoints.py +0 -0
  192. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/__init__.py +0 -0
  193. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/all_shortest_path_endpoints.py +0 -0
  194. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/bfs_endpoints.py +0 -0
  195. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/dag_endpoints.py +0 -0
  196. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/dfs_endpoints.py +0 -0
  197. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/dijkstra_endpoints.py +0 -0
  198. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/k_spanning_tree_endpoints.py +0 -0
  199. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/longest_path_endpoints.py +0 -0
  200. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/max_flow_endpoints.py +0 -0
  201. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/max_flow_min_cost_endpoints.py +0 -0
  202. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/prize_steiner_tree_endpoints.py +0 -0
  203. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/shortest_path_endpoints.py +0 -0
  204. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/single_source_bellman_ford_endpoints.py +0 -0
  205. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/single_source_delta_endpoints.py +0 -0
  206. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/single_source_dijkstra_endpoints.py +0 -0
  207. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/source_target_astar_endpoints.py +0 -0
  208. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/source_target_dijkstra_endpoints.py +0 -0
  209. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/source_target_yens_endpoints.py +0 -0
  210. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/spanning_tree_endpoints.py +0 -0
  211. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/pathfinding/steiner_tree_endpoints.py +0 -0
  212. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/similarity/__init__.py +0 -0
  213. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/similarity/knn_endpoints.py +0 -0
  214. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/similarity/knn_filtered_endpoints.py +0 -0
  215. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/similarity/knn_results.py +0 -0
  216. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/similarity/node_similarity_endpoints.py +0 -0
  217. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/similarity/node_similarity_filtered_endpoints.py +0 -0
  218. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/similarity/node_similarity_results.py +0 -0
  219. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/api/system_endpoints.py +0 -0
  220. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/__init__.py +0 -0
  221. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/catalog/__init__.py +0 -0
  222. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/catalog/catalog_arrow_endpoints.py +0 -0
  223. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/catalog/graph_backend_arrow.py +0 -0
  224. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/catalog/graph_ops_arrow.py +0 -0
  225. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/catalog/graph_sampling_arrow_endpoints.py +0 -0
  226. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/catalog/node_label_arrow_endpoints.py +0 -0
  227. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/catalog/node_properties_arrow_endpoints.py +0 -0
  228. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/catalog/relationship_arrow_endpoints.py +0 -0
  229. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/catalog/scale_properties_arrow_endpoints.py +0 -0
  230. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/__init__.py +0 -0
  231. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/articlerank_arrow_endpoints.py +0 -0
  232. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/articulationpoints_arrow_endpoints.py +0 -0
  233. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/betweenness_arrow_endpoints.py +0 -0
  234. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/bridges_arrow_endpoints.py +0 -0
  235. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/celf_arrow_endpoints.py +0 -0
  236. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/closeness_arrow_endpoints.py +0 -0
  237. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/closeness_harmonic_arrow_endpoints.py +0 -0
  238. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/degree_arrow_endpoints.py +0 -0
  239. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/eigenvector_arrow_endpoints.py +0 -0
  240. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/centrality/pagerank_arrow_endpoints.py +0 -0
  241. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/__init__.py +0 -0
  242. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/clique_counting_arrow_endpoints.py +0 -0
  243. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/conductance_arrow_endpoints.py +0 -0
  244. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/hdbscan_arrow_endpoints.py +0 -0
  245. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/k1coloring_arrow_endpoints.py +0 -0
  246. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/kcore_arrow_endpoints.py +0 -0
  247. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/kmeans_arrow_endpoints.py +0 -0
  248. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/labelpropagation_arrow_endpoints.py +0 -0
  249. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/leiden_arrow_endpoints.py +0 -0
  250. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/local_clustering_coefficient_arrow_endpoints.py +0 -0
  251. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/louvain_arrow_endpoints.py +0 -0
  252. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/maxkcut_arrow_endpoints.py +0 -0
  253. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/modularity_arrow_endpoints.py +0 -0
  254. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/modularity_optimization_arrow_endpoints.py +0 -0
  255. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/scc_arrow_endpoints.py +0 -0
  256. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/sllpa_arrow_endpoints.py +0 -0
  257. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/triangle_count_arrow_endpoints.py +0 -0
  258. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/community/wcc_arrow_endpoints.py +0 -0
  259. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/config_arrow_endpoints.py +0 -0
  260. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/endpoints_helper_base.py +0 -0
  261. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/error_handler.py +0 -0
  262. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/model/__init__.py +0 -0
  263. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/model_api_arrow.py +0 -0
  264. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/node_embedding/__init__.py +0 -0
  265. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/node_embedding/fastrp_arrow_endpoints.py +0 -0
  266. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/node_embedding/graphsage_predict_arrow_endpoints.py +0 -0
  267. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/node_embedding/graphsage_train_arrow_endpoints.py +0 -0
  268. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/node_embedding/hashgnn_arrow_endpoints.py +0 -0
  269. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/node_embedding/node2vec_arrow_endpoints.py +0 -0
  270. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/node_property_endpoints.py +0 -0
  271. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/__init__.py +0 -0
  272. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/all_shortest_path_arrow_endpoints.py +0 -0
  273. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/bfs_arrow_endpoints.py +0 -0
  274. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/dag_arrow_endpoints.py +0 -0
  275. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/dfs_arrow_endpoints.py +0 -0
  276. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/dijkstra_arrow_endpoints.py +0 -0
  277. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/k_spanning_tree_arrow_endpoints.py +0 -0
  278. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/longest_path_arrow_endpoints.py +0 -0
  279. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/max_flow_arrow_endpoints.py +0 -0
  280. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/max_flow_min_cost_arrow_endpoints.py +0 -0
  281. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/prize_steiner_tree_arrow_endpoints.py +0 -0
  282. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/shortest_path_arrow_endpoints.py +0 -0
  283. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_bellman_ford_arrow_endpoints.py +0 -0
  284. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_delta_arrow_endpoints.py +0 -0
  285. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/single_source_dijkstra_arrow_endpoints.py +0 -0
  286. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_astar_arrow_endpoints.py +0 -0
  287. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_dijkstra_arrow_endpoints.py +0 -0
  288. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/source_target_yens_arrow_endpoints.py +0 -0
  289. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/spanning_tree_arrow_endpoints.py +0 -0
  290. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/pathfinding/steiner_tree_arrow_endpoints.py +0 -0
  291. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/relationship_endpoints_helper.py +0 -0
  292. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/similarity/__init__.py +0 -0
  293. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/similarity/knn_arrow_endpoints.py +0 -0
  294. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/similarity/knn_filtered_arrow_endpoints.py +0 -0
  295. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/similarity/node_similarity_arrow_endpoints.py +0 -0
  296. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/similarity/node_similarity_filtered_arrow_endpoints.py +0 -0
  297. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/stream_result_mapper.py +0 -0
  298. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/system_arrow_endpoints.py +0 -0
  299. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/arrow/table_endpoints_helper.py +0 -0
  300. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/__init__.py +0 -0
  301. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/catalog/__init__.py +0 -0
  302. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/catalog/catalog_cypher_endpoints.py +0 -0
  303. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/catalog/graph_sampling_cypher_endpoints.py +0 -0
  304. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/catalog/node_label_cypher_endpoints.py +0 -0
  305. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/catalog/node_properties_cypher_endpoints.py +0 -0
  306. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/catalog/relationship_cypher_endpoints.py +0 -0
  307. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/catalog/scale_properties_cypher_endpoints.py +0 -0
  308. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/catalog/utils.py +0 -0
  309. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/__init__.py +0 -0
  310. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/articlerank_cypher_endpoints.py +0 -0
  311. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/articulationpoints_cypher_endpoints.py +0 -0
  312. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/betweenness_cypher_endpoints.py +0 -0
  313. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/bridges_cypher_endpoints.py +0 -0
  314. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/celf_cypher_endpoints.py +0 -0
  315. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/closeness_cypher_endpoints.py +0 -0
  316. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/closeness_harmonic_cypher_endpoints.py +0 -0
  317. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/degree_cypher_endpoints.py +0 -0
  318. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/eigenvector_cypher_endpoints.py +0 -0
  319. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/centrality/pagerank_cypher_endpoints.py +0 -0
  320. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/__init__.py +0 -0
  321. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/clique_counting_cypher_endpoints.py +0 -0
  322. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/conductance_cypher_endpoints.py +0 -0
  323. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/hdbscan_cypher_endpoints.py +0 -0
  324. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/k1coloring_cypher_endpoints.py +0 -0
  325. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/kcore_cypher_endpoints.py +0 -0
  326. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/kmeans_cypher_endpoints.py +0 -0
  327. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/labelpropagation_cypher_endpoints.py +0 -0
  328. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/leiden_cypher_endpoints.py +0 -0
  329. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/local_clustering_coefficient_cypher_endpoints.py +0 -0
  330. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/louvain_cypher_endpoints.py +0 -0
  331. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/maxkcut_cypher_endpoints.py +0 -0
  332. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/modularity_cypher_endpoints.py +0 -0
  333. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/modularity_optimization_cypher_endpoints.py +0 -0
  334. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/scc_cypher_endpoints.py +0 -0
  335. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/sllpa_cypher_endpoints.py +0 -0
  336. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/triangle_count_cypher_endpoints.py +0 -0
  337. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/community/wcc_cypher_endpoints.py +0 -0
  338. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/config_cypher_endpoints.py +0 -0
  339. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/estimation_utils.py +0 -0
  340. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/model/__init__.py +0 -0
  341. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/model_api_cypher.py +0 -0
  342. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/node_embedding/__init__.py +0 -0
  343. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/node_embedding/fastrp_cypher_endpoints.py +0 -0
  344. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/node_embedding/graphsage_predict_cypher_endpoints.py +0 -0
  345. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/node_embedding/graphsage_train_cypher_endpoints.py +0 -0
  346. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/node_embedding/hashgnn_cypher_endpoints.py +0 -0
  347. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/node_embedding/node2vec_cypher_endpoints.py +0 -0
  348. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/__init__.py +0 -0
  349. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/all_shortest_path_cypher_endpoints.py +0 -0
  350. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/bfs_cypher_endpoints.py +0 -0
  351. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/dag_cypher_endpoints.py +0 -0
  352. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/dfs_cypher_endpoints.py +0 -0
  353. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/dijkstra_cypher_endpoints.py +0 -0
  354. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/k_spanning_tree_cypher_endpoints.py +0 -0
  355. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/longest_path_cypher_endpoints.py +0 -0
  356. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/max_flow_cypher_endpoints.py +0 -0
  357. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/max_flow_min_cost_cypher_endpoints.py +0 -0
  358. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/prize_steiner_tree_cypher_endpoints.py +0 -0
  359. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/shortest_path_cypher_endpoints.py +0 -0
  360. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_bellman_ford_cypher_endpoints.py +0 -0
  361. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_delta_cypher_endpoints.py +0 -0
  362. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/single_source_dijkstra_cypher_endpoints.py +0 -0
  363. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_astar_cypher_endpoints.py +0 -0
  364. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_dijkstra_cypher_endpoints.py +0 -0
  365. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/source_target_yens_cypher_endpoints.py +0 -0
  366. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/spanning_tree_cypher_endpoints.py +0 -0
  367. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/pathfinding/steiner_tree_cypher_endpoints.py +0 -0
  368. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/similarity/__init__.py +0 -0
  369. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/similarity/knn_cypher_endpoints.py +0 -0
  370. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/similarity/knn_filtered_cypher_endpoints.py +0 -0
  371. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/similarity/node_similarity_cypher_endpoints.py +0 -0
  372. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/similarity/node_similarity_filtered_cypher_endpoints.py +0 -0
  373. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/cypher/system_cypher_endpoints.py +0 -0
  374. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/utils/__init__.py +0 -0
  375. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/procedure_surface/utils/config_converter.py +0 -0
  376. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/py.typed +0 -0
  377. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/arrow_authentication/__init__.py +0 -0
  378. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/arrow_graph_constructor.py +0 -0
  379. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/arrow_info/__init__.py +0 -0
  380. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/gds_arrow_client.py +0 -0
  381. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/graph_constructor.py +0 -0
  382. {graphdatascience-1.20a2/src/graphdatascience/query_runner → graphdatascience-1.21a2/src/graphdatascience/query_runner/progress}/__init__.py +0 -0
  383. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/progress/progress_bar.py +0 -0
  384. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/progress/progress_provider.py +0 -0
  385. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/progress/query_progress_provider.py +0 -0
  386. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/progress/static_progress_provider.py +0 -0
  387. {graphdatascience-1.20a2/src/graphdatascience/query_runner/progress → graphdatascience-1.21a2/src/graphdatascience/query_runner/protocol}/__init__.py +0 -0
  388. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/protocol/status.py +0 -0
  389. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/query_mode.py +0 -0
  390. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/query_runner/termination_flag.py +0 -0
  391. {graphdatascience-1.20a2/src/graphdatascience/query_runner/protocol → graphdatascience-1.21a2/src/graphdatascience/resources}/__init__.py +0 -0
  392. {graphdatascience-1.20a2/src/graphdatascience/resources → graphdatascience-1.21a2/src/graphdatascience/resources/cora}/__init__.py +0 -0
  393. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/cora/cora_nodes.parquet.gzip +0 -0
  394. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/cora/cora_rels.parquet.gzip +0 -0
  395. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/cora/serialize_cora.py +0 -0
  396. {graphdatascience-1.20a2/src/graphdatascience/resources/cora → graphdatascience-1.21a2/src/graphdatascience/resources/imdb}/__init__.py +0 -0
  397. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/imdb/imdb_acted_in.parquet.gzip +0 -0
  398. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/imdb/imdb_actors.parquet.gzip +0 -0
  399. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/imdb/imdb_directed_in.parquet.gzip +0 -0
  400. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/imdb/imdb_directors.parquet.gzip +0 -0
  401. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/imdb/imdb_movies_with_genre.parquet.gzip +0 -0
  402. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/imdb/imdb_movies_without_genre.parquet.gzip +0 -0
  403. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/imdb/serialize_imdb.py +0 -0
  404. {graphdatascience-1.20a2/src/graphdatascience/resources/imdb → graphdatascience-1.21a2/src/graphdatascience/resources/karate}/__init__.py +0 -0
  405. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/karate/karate_club.parquet.gzip +0 -0
  406. {graphdatascience-1.20a2/src/graphdatascience/resources/karate → graphdatascience-1.21a2/src/graphdatascience/resources/lastfm}/__init__.py +0 -0
  407. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/lastfm/artist_nodes.parquet.gzip +0 -0
  408. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/lastfm/serialize_lastfm.py +0 -0
  409. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/lastfm/user_friend_df_directed.parquet.gzip +0 -0
  410. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/lastfm/user_listen_artist_rels.parquet.gzip +0 -0
  411. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/lastfm/user_nodes.parquet.gzip +0 -0
  412. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/resources/lastfm/user_tag_artist_rels.parquet.gzip +0 -0
  413. {graphdatascience-1.20a2/src/graphdatascience/resources/lastfm → graphdatascience-1.21a2/src/graphdatascience/retry_utils}/__init__.py +0 -0
  414. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/retry_utils/neo4j_retry_helper.py +0 -0
  415. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/retry_utils/retry_config.py +0 -0
  416. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/retry_utils/retry_utils.py +0 -0
  417. {graphdatascience-1.20a2/src/graphdatascience/retry_utils → graphdatascience-1.21a2/src/graphdatascience/semantic_version}/__init__.py +0 -0
  418. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/semantic_version/semantic_version.py +0 -0
  419. {graphdatascience-1.20a2/src/graphdatascience/semantic_version → graphdatascience-1.21a2/src/graphdatascience/server_version}/__init__.py +0 -0
  420. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/server_version/compatible_with.py +0 -0
  421. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/server_version/server_version.py +0 -0
  422. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/__init__.py +0 -0
  423. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/algorithm_category.py +0 -0
  424. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/aura_api_responses.py +0 -0
  425. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/aura_api_token_authentication.py +0 -0
  426. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/cloud_location.py +0 -0
  427. {graphdatascience-1.20a2/src/graphdatascience/server_version → graphdatascience-1.21a2/src/graphdatascience/session/dbms}/__init__.py +0 -0
  428. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/dbms/protocol_version.py +0 -0
  429. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/dbms_connection_info.py +0 -0
  430. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/region_suggester.py +0 -0
  431. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/session_info.py +0 -0
  432. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/session_lifecycle_manager.py +0 -0
  433. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/session_sizes.py +0 -0
  434. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/session/session_v2_endpoints.py +0 -0
  435. {graphdatascience-1.20a2/src/graphdatascience/session/dbms → graphdatascience-1.21a2/src/graphdatascience/system}/__init__.py +0 -0
  436. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/system/config_endpoints.py +0 -0
  437. {graphdatascience-1.20a2/src/graphdatascience/system → graphdatascience-1.21a2/src/graphdatascience/topological_lp}/__init__.py +0 -0
  438. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/topological_lp/topological_lp_alpha_endpoints.py +0 -0
  439. {graphdatascience-1.20a2/src/graphdatascience/topological_lp → graphdatascience-1.21a2/src/graphdatascience/utils}/__init__.py +0 -0
  440. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience/utils/util_node_property_func_runner.py +0 -0
  441. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience.egg-info/dependency_links.txt +0 -0
  442. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience.egg-info/not-zip-safe +0 -0
  443. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience.egg-info/requires.txt +0 -0
  444. {graphdatascience-1.20a2 → graphdatascience-1.21a2}/src/graphdatascience.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphdatascience
3
- Version: 1.20a2
3
+ Version: 1.21a2
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
@@ -54,13 +54,12 @@ rust-ext = ["neo4j-rust-ext >= 4.4.12, < 7.0"]
54
54
 
55
55
 
56
56
  [dependency-groups]
57
- # To install all development dependencies,
58
- # run `pip install --group dev -e .` inside repository root folder.#
59
57
  dev = [
60
58
  "tox>4.24",
61
59
  { include-group = "dev-base" },
62
60
  { include-group = "test" },
63
61
  { include-group = "docs-ci" },
62
+ { include-group = "notebook-base"}
64
63
  ]
65
64
 
66
65
  dev-base = [
@@ -79,6 +78,7 @@ dev-base = [
79
78
  ]
80
79
  test = [
81
80
  "pytest == 9.0.2",
81
+ "pytest-timeout",
82
82
  "requests_mock == 1.12.1",
83
83
  "pytest_mock == 3.15.1",
84
84
  "testcontainers == 4.14.0",
@@ -89,6 +89,7 @@ docs-ci = [
89
89
  "sphinx == 7.3.7",
90
90
  "enum-tools[sphinx]==0.13.0",
91
91
  "autodoc_pydantic",
92
+ "networkx >= 2.0, < 4.0"
92
93
  ]
93
94
  notebook-base = [
94
95
  "nbconvert==7.16.6",
@@ -111,6 +112,10 @@ notebook-ci = [
111
112
 
112
113
  publish = ["build", "twine"]
113
114
 
115
+ [tool.uv.extra-build-dependencies]
116
+ torch-sparse = ["torch"]
117
+ torch-scatter = ["torch"]
118
+
114
119
  [tool.setuptools]
115
120
  include-package-data = true
116
121
  zip-safe = false
@@ -2,8 +2,9 @@ from __future__ import annotations
2
2
 
3
3
  from dataclasses import dataclass
4
4
 
5
- from ..query_runner.query_runner import QueryRunner
6
- from ..server_version.server_version import ServerVersion
5
+ from graphdatascience.query_runner.query_runner import QueryRunner
6
+ from graphdatascience.query_runner.query_type import QueryType
7
+ from graphdatascience.server_version.server_version import ServerVersion
7
8
 
8
9
 
9
10
  @dataclass(frozen=True)
@@ -20,7 +21,7 @@ class ArrowInfo:
20
21
  debugYields.append("versions")
21
22
 
22
23
  procResult = query_runner.call_procedure(
23
- endpoint="gds.debug.arrow", custom_error=False, yields=debugYields
24
+ endpoint="gds.debug.arrow", query_type=QueryType.SYSTEM, custom_error=False, yields=debugYields
24
25
  ).iloc[0]
25
26
 
26
27
  return ArrowInfo(
@@ -43,6 +43,17 @@ class DirectEndpoints(
43
43
  super().__init__(query_runner, namespace, server_version)
44
44
 
45
45
 
46
+ class DirectSessionEndpoints(
47
+ SingleModeAlgoEndpoints,
48
+ DirectSystemEndpoints,
49
+ DirectUtilEndpoints,
50
+ PipelineEndpoints,
51
+ ConfigEndpoints,
52
+ ):
53
+ def __init__(self, query_runner: QueryRunner, namespace: str, server_version: ServerVersion):
54
+ super().__init__(query_runner, namespace, server_version)
55
+
56
+
46
57
  """
47
58
  This class should inherit endpoint classes that only expose calls of the `gds.alpha` namespace.
48
59
  Example of such endpoints: "gds.alpha.listProgress".
@@ -6,13 +6,13 @@ from typing import Any
6
6
 
7
7
  from pandas import Series
8
8
 
9
+ from graphdatascience.caller_base import CallerBase
10
+ from graphdatascience.graph.graph_create_result import GraphCreateResult
11
+ from graphdatascience.graph.graph_object import Graph
9
12
  from graphdatascience.query_runner.query_mode import QueryMode
10
-
11
- from ..caller_base import CallerBase
12
- from ..query_runner.query_runner import QueryRunner
13
- from ..server_version.server_version import ServerVersion
14
- from .graph_create_result import GraphCreateResult
15
- from .graph_object import Graph
13
+ from graphdatascience.query_runner.query_runner import QueryRunner
14
+ from graphdatascience.query_runner.query_type import QueryType
15
+ from graphdatascience.server_version.server_version import ServerVersion
16
16
 
17
17
 
18
18
  class GraphCypherRunner(CallerBase):
@@ -48,7 +48,7 @@ class GraphCypherRunner(CallerBase):
48
48
  GraphCypherRunner._verify_query_ends_with_return_clause(self._namespace, query)
49
49
 
50
50
  result: dict[str, Any] | None = self._query_runner.run_retryable_cypher(
51
- query, params, database, custom_error=False, mode=QueryMode.READ
51
+ query, QueryType.USER_DIRECTED, params, database, custom_error=False, mode=QueryMode.READ
52
52
  ).squeeze()
53
53
 
54
54
  if not result:
@@ -8,6 +8,7 @@ import pandas as pd
8
8
  from pandas import DataFrame, Series
9
9
 
10
10
  from graphdatascience.query_runner.query_mode import QueryMode
11
+ from graphdatascience.query_runner.query_type import QueryType
11
12
 
12
13
  from ..call_parameters import CallParameters
13
14
  from ..error.cypher_warning_handler import (
@@ -169,6 +170,7 @@ class GraphNodePropertiesRunner(GraphEntityOpsBaseRunner):
169
170
 
170
171
  db_properties_df = query_runner.run_retryable_cypher(
171
172
  GraphNodePropertiesRunner._build_query(db_node_properties),
173
+ QueryType.USER_TRANSPILED,
172
174
  params={"ids": unique_node_ids},
173
175
  mode=QueryMode.READ,
174
176
  )
@@ -106,7 +106,7 @@ class GraphV2:
106
106
  """
107
107
  return self._backend.graph_info().density
108
108
 
109
- def memory_usage(self) -> str:
109
+ def memory_usage(self) -> str | None:
110
110
  """
111
111
  Returns:
112
112
  the memory usage of the graph
@@ -22,6 +22,7 @@ from .query_runner.arrow_info import ArrowInfo
22
22
  from .query_runner.arrow_query_runner import ArrowQueryRunner
23
23
  from .query_runner.neo4j_query_runner import Neo4jQueryRunner
24
24
  from .query_runner.query_runner import QueryRunner
25
+ from .query_runner.query_type import QueryType
25
26
  from .server_version.server_version import ServerVersion
26
27
  from .utils.util_proc_runner import UtilProcRunner
27
28
  from .version import __min_server_version__
@@ -93,7 +94,7 @@ class GraphDataScience(DirectEndpoints, UncallableNamespace):
93
94
  if isinstance(endpoint, QueryRunner):
94
95
  self._query_runner = endpoint
95
96
  else:
96
- db_auth = None
97
+ db_auth: neo4j.Auth | None = None
97
98
  if auth:
98
99
  db_auth = neo4j.basic_auth(*auth)
99
100
  neo4j_query_runner = Neo4jQueryRunner.create_for_db(
@@ -118,21 +119,29 @@ class GraphDataScience(DirectEndpoints, UncallableNamespace):
118
119
  if auth is not None:
119
120
  username, password = auth
120
121
  arrow_auth = UsernamePasswordAuthentication(username, password)
122
+ if isinstance(endpoint, Neo4jQueryRunner):
123
+ if neo4j_auth := endpoint.get_auth():
124
+ arrow_auth = UsernamePasswordAuthentication(neo4j_auth[0], neo4j_auth[1])
121
125
 
122
- if arrow_client_options is None:
123
- arrow_client_options = {}
124
- if arrow_disable_server_verification:
125
- disable_server_verification(arrow_client_options)
126
- if arrow_tls_root_certs is not None:
127
- set_tls_root_certs(arrow_client_options, arrow_tls_root_certs)
128
- self._query_runner = ArrowQueryRunner.create(
129
- self._query_runner,
130
- arrow_info=arrow_info,
131
- arrow_authentication=arrow_auth,
132
- encrypted=self._query_runner.encrypted(),
133
- arrow_client_options=arrow_client_options,
134
- connection_string_override=None if arrow is True else arrow,
135
- )
126
+ if isinstance(endpoint, Driver) and not auth:
127
+ warnings.warn(
128
+ "Falling back to use Cypher for GDS. To use Arrow, you must explicitly provide the `auth` parameter."
129
+ )
130
+ else:
131
+ if arrow_client_options is None:
132
+ arrow_client_options = {}
133
+ if arrow_disable_server_verification:
134
+ disable_server_verification(arrow_client_options)
135
+ if arrow_tls_root_certs is not None:
136
+ set_tls_root_certs(arrow_client_options, arrow_tls_root_certs)
137
+ self._query_runner = ArrowQueryRunner.create(
138
+ self._query_runner,
139
+ arrow_info=arrow_info,
140
+ arrow_authentication=arrow_auth,
141
+ encrypted=self._query_runner.encrypted(),
142
+ arrow_client_options=arrow_client_options,
143
+ connection_string_override=None if arrow is True else arrow,
144
+ )
136
145
 
137
146
  arrow_client = (
138
147
  None if not isinstance(self._query_runner, ArrowQueryRunner) else self._query_runner._gds_arrow_client
@@ -258,15 +267,16 @@ class GraphDataScience(DirectEndpoints, UncallableNamespace):
258
267
  The query result as a DataFrame
259
268
  """
260
269
  qr = self._query_runner
270
+ query_type = QueryType.USER_DIRECTED
261
271
 
262
272
  # The Arrow query runner should not be used to execute arbitrary Cypher
263
273
  if isinstance(self._query_runner, ArrowQueryRunner):
264
274
  qr = self._query_runner.fallback_query_runner()
265
275
 
266
276
  if retryable:
267
- return qr.run_retryable_cypher(query, params, database, custom_error=False, mode=mode)
277
+ return qr.run_retryable_cypher(query, query_type, params, database, custom_error=False, mode=mode)
268
278
  else:
269
- return qr.run_cypher(query, params, database, custom_error=False, mode=mode)
279
+ return qr.run_cypher(query, query_type, params, database, custom_error=False, mode=mode)
270
280
 
271
281
  def driver_config(self) -> dict[str, Any]:
272
282
  """
@@ -310,6 +320,7 @@ class GraphDataScience(DirectEndpoints, UncallableNamespace):
310
320
  The Neo4j Driver instance to use.
311
321
  auth : tuple[str, str] | None, default None
312
322
  A username, password pair for authentication.
323
+ Is required for enabling Arrow.
313
324
  database: str | None, default None
314
325
  The Neo4j database to query against.
315
326
  arrow : str | bool, default True
@@ -2,9 +2,10 @@ from __future__ import annotations
2
2
 
3
3
  from abc import ABC, abstractmethod
4
4
  from types import TracebackType
5
- from typing import NamedTuple, Type
5
+ from typing import Any, NamedTuple, Type
6
6
 
7
7
  from pandas import DataFrame
8
+ from pydantic import field_validator
8
9
 
9
10
  from graphdatascience.graph.v2.graph_api import GraphV2
10
11
  from graphdatascience.procedure_surface.api.base_result import BaseResult
@@ -245,7 +246,12 @@ class GraphGenerationStats(BaseResult):
245
246
  relationship_seed: int | None
246
247
  average_degree: float
247
248
  relationship_distribution: str
248
- relationship_property: RelationshipPropertySpec
249
+ relationship_property: RelationshipPropertySpec | None
250
+
251
+ @field_validator("relationship_property", mode="before")
252
+ @classmethod
253
+ def check_empty_property(cls, value: Any) -> Any:
254
+ return value or None
249
255
 
250
256
 
251
257
  class RelationshipPropertySpec(BaseResult):
@@ -15,7 +15,7 @@ class GraphInfo(BaseResult):
15
15
  database: str
16
16
  database_location: str
17
17
  configuration: dict[str, Any]
18
- memory_usage: str
18
+ memory_usage: str | None # can be none if there was an error computing the usage
19
19
  size_in_bytes: int
20
20
  node_count: int
21
21
  relationship_count: int
@@ -69,7 +69,7 @@ class ModelCatalogEndpoints(ABC):
69
69
  """
70
70
 
71
71
  @abstractmethod
72
- def drop(self, model_name: str, *, fail_if_missing: bool = False) -> ModelDetails:
72
+ def drop(self, model_name: str, *, fail_if_missing: bool = False) -> ModelDetails | None:
73
73
  """Drop a model from the in-memory catalog.
74
74
 
75
75
  Parameters
@@ -86,13 +86,15 @@ class ModelCatalogEndpoints(ABC):
86
86
  """
87
87
 
88
88
  @abstractmethod
89
- def delete(self, model_name: str) -> ModelDeleteResult:
89
+ def delete(self, model_name: str, fail_if_missing: bool = False) -> ModelDeleteResult | None:
90
90
  """Delete a persisted model from storage.
91
91
 
92
92
  Parameters
93
93
  ----------
94
94
  model_name: str
95
95
  The model to delete.
96
+ fail_if_missing: bool
97
+ If True, a missing model will cause an error. If False, returns None when missing.
96
98
 
97
99
  Returns
98
100
  -------
@@ -45,23 +45,28 @@ class ModelCatalogArrowEndpoints(ModelCatalogEndpoints):
45
45
  raise ValueError(f"Model with name `{model_name}` does not exist")
46
46
  return self._to_model_details(items[0])
47
47
 
48
- def drop(self, model_name: str, *, fail_if_missing: bool = False) -> ModelDetails:
48
+ def drop(self, model_name: str, *, fail_if_missing: bool = False) -> ModelDetails | None:
49
49
  raw = self._arrow_client.do_action_with_retry(
50
50
  "v2/model.drop",
51
51
  payload=json.dumps({"modelName": model_name, "failIfMissing": fail_if_missing}).encode("utf-8"),
52
52
  )
53
53
  items = deserialize(raw)
54
- if not items:
54
+ if not items and fail_if_missing:
55
55
  raise ValueError(f"Model with name `{model_name}` does not exist")
56
+ if not items:
57
+ return None
56
58
  return self._to_model_details(items[0])
57
59
 
58
- def delete(self, model_name: str) -> ModelDeleteResult:
60
+ def delete(self, model_name: str, fail_if_missing: bool = False) -> ModelDeleteResult | None:
59
61
  raw = self._arrow_client.do_action_with_retry(
60
- "v2/model.delete", payload=json.dumps({"modelName": model_name}).encode("utf-8")
62
+ "v2/model.delete",
63
+ payload=json.dumps({"modelName": model_name, "failIfMissing": fail_if_missing}).encode("utf-8"),
61
64
  )
62
65
  items = deserialize(raw)
63
- if not items:
66
+ if not items and fail_if_missing:
64
67
  raise ValueError(f"Model with name `{model_name}` does not exist")
68
+ if not items:
69
+ return None
65
70
  return ModelDeleteResult(**items[0])
66
71
 
67
72
  def load(self, model_name: str) -> ModelLoadResult:
@@ -44,18 +44,30 @@ class ModelCatalogCypherEndpoints(ModelCatalogEndpoints):
44
44
  raise ValueError(f"Model with name `{model_name}` does not exist")
45
45
  return self._to_model_details(df.iloc[0].to_dict())
46
46
 
47
- def drop(self, model_name: str, *, fail_if_missing: bool = False) -> ModelDetails:
47
+ def drop(self, model_name: str, *, fail_if_missing: bool = False) -> ModelDetails | None:
48
48
  params = CallParameters(model_name=model_name, fail_if_missing=fail_if_missing)
49
49
  df = self._query_runner.call_procedure("gds.model.drop", params=params, custom_error=False)
50
- if df.empty:
50
+ if df.empty and fail_if_missing:
51
51
  raise ValueError(f"Model with name `{model_name}` does not exist")
52
+ if df.empty:
53
+ return None
52
54
  return self._to_model_details(df.iloc[0].to_dict())
53
55
 
54
- def delete(self, model_name: str) -> ModelDeleteResult:
56
+ def delete(self, model_name: str, fail_if_missing: bool = False) -> ModelDeleteResult | None:
55
57
  params = CallParameters(model_name=model_name)
56
- df = self._query_runner.call_procedure("gds.model.delete", params=params, custom_error=False)
57
- if df.empty:
58
+
59
+ try:
60
+ df = self._query_runner.call_procedure("gds.model.delete", params=params, custom_error=False)
61
+ except neo4j.exceptions.ClientError as e:
62
+ if "Model with name" not in str(e) or fail_if_missing:
63
+ raise e
64
+ else:
65
+ return None
66
+
67
+ if df.empty and fail_if_missing:
58
68
  raise ValueError(f"Model with name `{model_name}` does not exist")
69
+ if df.empty:
70
+ return None
59
71
  return ModelDeleteResult(**df.iloc[0].to_dict())
60
72
 
61
73
  def load(self, model_name: str) -> ModelLoadResult:
@@ -4,6 +4,7 @@ from pandas import DataFrame
4
4
 
5
5
  from graphdatascience.query_runner.query_mode import QueryMode
6
6
  from graphdatascience.query_runner.query_runner import QueryRunner
7
+ from graphdatascience.query_runner.query_type import QueryType
7
8
 
8
9
 
9
10
  def transpose_property_columns(result: DataFrame, list_node_labels: bool) -> DataFrame:
@@ -25,6 +26,7 @@ def join_db_node_properties(result: DataFrame, db_node_properties: list[str], qu
25
26
  query = _build_query(db_node_properties)
26
27
  db_properties_df = query_runner.run_retryable_cypher(
27
28
  query,
29
+ QueryType.USER_TRANSPILED,
28
30
  params={"ids": (result["nodeId"].tolist())},
29
31
  mode=QueryMode.READ,
30
32
  )
@@ -0,0 +1,5 @@
1
+ from .query_mode import QueryMode
2
+ from .query_runner import QueryRunner
3
+ from .query_type import QueryType
4
+
5
+ __all__ = ["QueryRunner", "QueryMode", "QueryType"]
@@ -9,6 +9,7 @@ from graphdatascience.arrow_client.authenticated_flight_client import Authentica
9
9
  from graphdatascience.arrow_client.v1.gds_arrow_client import GdsArrowClient
10
10
  from graphdatascience.query_runner.arrow_authentication import ArrowAuthentication
11
11
  from graphdatascience.query_runner.query_mode import QueryMode
12
+ from graphdatascience.query_runner.query_type import QueryType
12
13
  from graphdatascience.retry_utils.retry_config import RetryConfigV2
13
14
 
14
15
  from ..call_parameters import CallParameters
@@ -64,31 +65,38 @@ class ArrowQueryRunner(QueryRunner):
64
65
  def run_cypher(
65
66
  self,
66
67
  query: str,
68
+ query_type: QueryType,
67
69
  params: dict[str, Any] | None = None,
68
70
  database: str | None = None,
69
71
  mode: QueryMode | None = None,
70
72
  custom_error: bool = True,
71
73
  ) -> DataFrame:
72
- return self._fallback_query_runner.run_cypher(query, params, database, mode, custom_error=custom_error)
74
+ return self._fallback_query_runner.run_cypher(
75
+ query, query_type, params, database, mode, custom_error=custom_error
76
+ )
73
77
 
74
78
  def run_retryable_cypher(
75
79
  self,
76
80
  query: str,
81
+ query_type: QueryType,
77
82
  params: dict[str, Any] | None = None,
78
83
  database: str | None = None,
79
84
  mode: QueryMode | None = None,
80
85
  custom_error: bool = True,
81
86
  ) -> DataFrame:
82
87
  return self._fallback_query_runner.run_retryable_cypher(
83
- query, params, database, mode, custom_error=custom_error
88
+ query, query_type, params, database, mode, custom_error=custom_error
84
89
  )
85
90
 
86
- def call_function(self, endpoint: str, params: CallParameters | None = None) -> Any:
87
- return self._fallback_query_runner.call_function(endpoint, params)
91
+ def call_function(
92
+ self, endpoint: str, query_type: QueryType = QueryType.USER_TRANSPILED, params: CallParameters | None = None
93
+ ) -> Any:
94
+ return self._fallback_query_runner.call_function(endpoint, query_type, params)
88
95
 
89
96
  def call_procedure(
90
97
  self,
91
98
  endpoint: str,
99
+ query_type: QueryType = QueryType.USER_TRANSPILED,
92
100
  params: CallParameters | None = None,
93
101
  yields: list[str] | None = None,
94
102
  database: str | None = None,
@@ -189,7 +197,14 @@ class ArrowQueryRunner(QueryRunner):
189
197
  )
190
198
 
191
199
  return self._fallback_query_runner.call_procedure(
192
- endpoint, params, yields, database, logging=logging, retryable=retryable, custom_error=custom_error
200
+ endpoint,
201
+ query_type,
202
+ params,
203
+ yields,
204
+ database,
205
+ logging=logging,
206
+ retryable=retryable,
207
+ custom_error=custom_error,
193
208
  )
194
209
 
195
210
  def server_version(self) -> ServerVersion:
@@ -12,6 +12,7 @@ from graphdatascience.query_runner.query_mode import QueryMode
12
12
  from ..server_version.server_version import ServerVersion
13
13
  from .graph_constructor import GraphConstructor
14
14
  from .query_runner import QueryRunner
15
+ from .query_type import QueryType
15
16
 
16
17
 
17
18
  class CypherProjectionApi:
@@ -107,6 +108,7 @@ class CypherGraphConstructor(GraphConstructor):
107
108
  try:
108
109
  license: str = self._query_runner.run_retryable_cypher(
109
110
  "CALL gds.debug.sysInfo() YIELD key, value WHERE key = 'gdsEdition' RETURN value",
111
+ QueryType.SYSTEM,
110
112
  custom_error=False,
111
113
  mode=QueryMode.READ,
112
114
  ).squeeze()
@@ -215,6 +217,7 @@ class CypherGraphConstructor(GraphConstructor):
215
217
  # not using retryable here as gds.graph.project adds a graph to the gds graph catalog
216
218
  self._query_runner.run_cypher(
217
219
  query,
220
+ QueryType.USER_TRANSPILED,
218
221
  {
219
222
  "data": combined_df.values.tolist(),
220
223
  "graph_name": self._graph_name,
@@ -377,6 +380,7 @@ class CypherGraphConstructor(GraphConstructor):
377
380
 
378
381
  self._query_runner.run_cypher(
379
382
  query,
383
+ QueryType.USER_TRANSPILED,
380
384
  {
381
385
  "graph_name": self._graph_name,
382
386
  "node_query": node_query,
@@ -1,18 +1,22 @@
1
1
  from graphdatascience.query_runner.neo4j_query_runner import Neo4jQueryRunner
2
+ from graphdatascience.query_runner.query_type import QueryType
2
3
 
3
4
 
4
5
  class DbEnvironmentResolver:
5
6
  @staticmethod
6
7
  def hosted_in_aura(db_runner: Neo4jQueryRunner) -> bool:
7
8
  return (
8
- db_runner.run_retryable_cypher("""
9
+ db_runner.run_retryable_cypher(
10
+ """
9
11
  CALL dbms.components() YIELD name, versions
10
12
  WHERE name = "Neo4j Kernel"
11
13
  UNWIND versions as v
12
14
  WITH name, v
13
15
  WHERE v ENDS WITH "aura"
14
16
  RETURN count(*) <> 0
15
- """)
17
+ """,
18
+ QueryType.SYSTEM,
19
+ )
16
20
  .iloc[0]
17
21
  .item()
18
22
  ) is True
@@ -11,6 +11,8 @@ from pandas import DataFrame
11
11
  from tenacity import retry, retry_if_exception, stop_after_delay, wait_fixed
12
12
 
13
13
  from graphdatascience.query_runner.query_mode import QueryMode
14
+ from graphdatascience.query_runner.query_runner import QueryRunner
15
+ from graphdatascience.query_runner.query_type import QueryType
14
16
  from graphdatascience.retry_utils.neo4j_retry_helper import is_retryable_neo4j_exception
15
17
 
16
18
  from ..call_parameters import CallParameters
@@ -23,7 +25,6 @@ from ..version import __version__
23
25
  from .cypher_graph_constructor import CypherGraphConstructor
24
26
  from .graph_constructor import GraphConstructor
25
27
  from .progress.query_progress_logger import QueryProgressLogger
26
- from .query_runner import QueryRunner
27
28
 
28
29
 
29
30
  class Neo4jQueryRunner(QueryRunner):
@@ -155,12 +156,24 @@ class Neo4jQueryRunner(QueryRunner):
155
156
  # progress logging should not retry a lot as it perodically fetches the latest progress anyway
156
157
  connectivity_retry_config = Neo4jQueryRunner.ConnectivityRetriesConfig(max_retries=2)
157
158
  # not using retryable cypher as failing is okay
158
- return self.run_cypher(query=query, database=database, connectivity_retry_config=connectivity_retry_config)
159
+ return self.run_cypher(
160
+ query=query,
161
+ query_type=QueryType.USER_TRANSPILED,
162
+ database=database,
163
+ connectivity_retry_config=connectivity_retry_config,
164
+ )
165
+
166
+ def get_auth(self) -> tuple[str, str] | None:
167
+ if isinstance(self._auth, neo4j.Auth):
168
+ return self._auth.principal, self._auth.credentials
169
+ else:
170
+ return self._auth
159
171
 
160
172
  # only use for user defined queries
161
173
  def run_cypher(
162
174
  self,
163
175
  query: str,
176
+ query_type: QueryType,
164
177
  params: dict[str, Any] | None = None,
165
178
  database: str | None = None,
166
179
  mode: QueryMode | None = None,
@@ -186,7 +199,7 @@ class Neo4jQueryRunner(QueryRunner):
186
199
  default_access_mode=mode.neo4j_access_mode(),
187
200
  ) as session:
188
201
  try:
189
- result = session.run(query, params)
202
+ result = session.run(self._wrap_query(query, query_type), params)
190
203
  except Exception as e:
191
204
  if custom_error:
192
205
  self.handle_driver_exception(session, e)
@@ -211,6 +224,7 @@ class Neo4jQueryRunner(QueryRunner):
211
224
  def run_retryable_cypher(
212
225
  self,
213
226
  query: str,
227
+ query_type: QueryType,
214
228
  params: dict[str, Any] | None = None,
215
229
  database: str | None = None,
216
230
  mode: QueryMode | None = None,
@@ -221,7 +235,7 @@ class Neo4jQueryRunner(QueryRunner):
221
235
  database = self._database
222
236
 
223
237
  if self._NEO4J_DRIVER_VERSION < SemanticVersion(5, 5, 0):
224
- return self.run_cypher(query, params, database, mode, custom_error, connectivity_retry_config)
238
+ return self.run_cypher(query, query_type, params, database, mode, custom_error, connectivity_retry_config)
225
239
 
226
240
  if not mode:
227
241
  routing = neo4j.RoutingControl.WRITE
@@ -232,7 +246,7 @@ class Neo4jQueryRunner(QueryRunner):
232
246
  bookmark_manager = neo4j.GraphDatabase.bookmark_manager(self.bookmarks())
233
247
 
234
248
  result = self._driver.execute_query(
235
- query_=query,
249
+ query_=self._wrap_query(query, query_type),
236
250
  parameters_=params,
237
251
  database_=database,
238
252
  result_transformer_=neo4j.Result.to_df,
@@ -250,17 +264,26 @@ class Neo4jQueryRunner(QueryRunner):
250
264
  else:
251
265
  raise e
252
266
 
253
- def call_function(self, endpoint: str, params: CallParameters | None = None, custom_error: bool = True) -> Any:
267
+ def call_function(
268
+ self,
269
+ endpoint: str,
270
+ query_type: QueryType = QueryType.USER_TRANSPILED,
271
+ params: CallParameters | None = None,
272
+ custom_error: bool = True,
273
+ ) -> Any:
254
274
  if params is None:
255
275
  params = CallParameters()
256
276
  query = f"RETURN {endpoint}({params.placeholder_str()})"
257
277
 
258
278
  # we can use retryable cypher as we expect all gds functions to be idempotent
259
- return self.run_retryable_cypher(query, params, custom_error=custom_error, mode=QueryMode.READ).squeeze()
279
+ return self.run_retryable_cypher(
280
+ query, query_type, params, custom_error=custom_error, mode=QueryMode.READ
281
+ ).squeeze()
260
282
 
261
283
  def call_procedure(
262
284
  self,
263
285
  endpoint: str,
286
+ query_type: QueryType = QueryType.USER_TRANSPILED,
264
287
  params: CallParameters | None = None,
265
288
  yields: list[str] | None = None,
266
289
  database: str | None = None,
@@ -277,9 +300,11 @@ class Neo4jQueryRunner(QueryRunner):
277
300
 
278
301
  def run_cypher_query() -> DataFrame:
279
302
  if retryable:
280
- return self.run_retryable_cypher(query, params, database, custom_error=custom_error, mode=mode)
303
+ return self.run_retryable_cypher(
304
+ query, query_type, params, database, custom_error=custom_error, mode=mode
305
+ )
281
306
  else:
282
- return self.run_cypher(query, params, database, custom_error=custom_error)
307
+ return self.run_cypher(query, query_type, params, database, custom_error=custom_error)
283
308
 
284
309
  job_id = None if not params else params.get_job_id()
285
310
  if self._resolve_show_progress(logging) and job_id:
@@ -295,7 +320,7 @@ class Neo4jQueryRunner(QueryRunner):
295
320
  return self._server_version
296
321
 
297
322
  try:
298
- server_version_string = self.call_function("gds.version", custom_error=False)
323
+ server_version_string = self.call_function("gds.version", query_type=QueryType.SYSTEM, custom_error=False)
299
324
  server_version = ServerVersion.from_string(server_version_string)
300
325
  self._server_version = server_version
301
326
  return server_version
@@ -501,6 +526,12 @@ class Neo4jQueryRunner(QueryRunner):
501
526
  warnings.filterwarnings("ignore", message=r".*returned by the procedure.* is deprecated.*")
502
527
  warnings.filterwarnings("ignore", message=r".*procedure field deprecated..*")
503
528
 
529
+ def _wrap_query(self, query: str, query_type: QueryType) -> neo4j.Query:
530
+ return neo4j.Query(
531
+ text=query, # type: ignore[assignment]
532
+ metadata={"app": f"gds-v{__version__}", "type": query_type.value},
533
+ )
534
+
504
535
  class ConnectivityRetriesConfig(NamedTuple):
505
536
  max_retries: int = 600
506
537
  wait_time: int = 1