graphdatascience 1.11a3__tar.gz → 1.12a1__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.11a3 → graphdatascience-1.12a1}/MANIFEST.in +1 -0
- {graphdatascience-1.11a3/graphdatascience.egg-info → graphdatascience-1.12a1}/PKG-INFO +4 -4
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/README.md +0 -2
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/algo/algo_proc_runner.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/call_builder.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/endpoints.py +17 -2
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/base_graph_proc_runner.py +6 -6
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_alpha_proc_runner.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_beta_proc_runner.py +4 -4
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_cypher_runner.py +10 -3
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_entity_ops_runner.py +4 -4
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_object.py +2 -4
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_proc_runner.py +2 -2
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_project_runner.py +4 -4
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_remote_project_runner.py +6 -6
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_sample_runner.py +4 -4
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/nx_loader.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/ogb_loader.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph_data_science.py +13 -7
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/graphsage_model.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/link_prediction_model.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model.py +63 -61
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model_alpha_proc_runner.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model_beta_proc_runner.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model_proc_runner.py +24 -16
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/node_classification_model.py +3 -3
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/node_regression_model.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/pipeline_model.py +3 -3
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/classification_training_pipeline.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/lp_pipeline_create_runner.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/lp_training_pipeline.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/nc_training_pipeline.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/nr_training_pipeline.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/pipeline_proc_runner.py +2 -2
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/training_pipeline.py +2 -4
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/arrow_query_runner.py +6 -3
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/cypher_graph_constructor.py +1 -1
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/neo4j_query_runner.py +48 -88
- graphdatascience-1.12a1/graphdatascience/query_runner/query_progress_logger.py +98 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/query_runner.py +4 -0
- graphdatascience-1.12a1/graphdatascience/query_runner/session_query_runner.py +296 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/__init__.py +2 -0
- graphdatascience-1.12a1/graphdatascience/session/aura_api.py +364 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/aura_api_responses.py +15 -6
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/aura_graph_data_science.py +74 -55
- graphdatascience-1.12a1/graphdatascience/session/cloud_location.py +15 -0
- graphdatascience-1.12a1/graphdatascience/session/dbms/protocol_resolver.py +62 -0
- graphdatascience-1.12a1/graphdatascience/session/dbms/protocol_version.py +18 -0
- graphdatascience-1.12a1/graphdatascience/session/dedicated_sessions.py +201 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/gds_sessions.py +21 -12
- graphdatascience-1.12a1/graphdatascience/session/session_info.py +54 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/system/config_endpoints.py +6 -6
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/system/system_endpoints.py +2 -2
- graphdatascience-1.12a1/graphdatascience/topological_lp/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/topological_lp/topological_lp_alpha_runner.py +3 -3
- graphdatascience-1.12a1/graphdatascience/utils/__init__.py +0 -0
- graphdatascience-1.11a3/graphdatascience/utils/util_endpoints.py → graphdatascience-1.12a1/graphdatascience/utils/direct_util_endpoints.py +3 -8
- graphdatascience-1.12a1/graphdatascience/utils/util_node_property_func_runner.py +31 -0
- graphdatascience-1.12a1/graphdatascience/utils/util_proc_runner.py +43 -0
- graphdatascience-1.12a1/graphdatascience/utils/util_remote_proc_runner.py +48 -0
- graphdatascience-1.12a1/graphdatascience/version.py +1 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1/graphdatascience.egg-info}/PKG-INFO +4 -4
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience.egg-info/SOURCES.txt +11 -3
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience.egg-info/requires.txt +4 -1
- graphdatascience-1.12a1/pyproject.toml +55 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/requirements/base/base.txt +1 -1
- graphdatascience-1.12a1/requirements/base/rust-ext.txt +2 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/setup.py +4 -1
- graphdatascience-1.11a3/graphdatascience/query_runner/aura_db_query_runner.py +0 -170
- graphdatascience-1.11a3/graphdatascience/session/aura_api.py +0 -305
- graphdatascience-1.11a3/graphdatascience/session/aurads_sessions.py +0 -212
- graphdatascience-1.11a3/graphdatascience/session/dedicated_sessions.py +0 -165
- graphdatascience-1.11a3/graphdatascience/session/session_info.py +0 -41
- graphdatascience-1.11a3/graphdatascience/utils/util_proc_runner.py +0 -68
- graphdatascience-1.11a3/graphdatascience/version.py +0 -1
- graphdatascience-1.11a3/pyproject.toml +0 -9
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/LICENSE +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/algo/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/algo/algo_endpoints.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/algo/single_mode_algo_endpoints.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/call_parameters.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/caller_base.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/client_only_endpoint.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/cypher_warning_handler.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/endpoint_suggester.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/gds_not_installed.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/illegal_attr_checker.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/unable_to_connect.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/uncallable_namespace.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_create_result.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_endpoints.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_export_runner.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_remote_proc_runner.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_type_check.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/ignored_server_endpoints.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model_endpoints.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model_resolver.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/simple_rel_embedding_model.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/nc_pipeline_create_runner.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/nr_pipeline_create_runner.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/pipeline_alpha_proc_runner.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/pipeline_beta_proc_runner.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/pipeline_endpoints.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/py.typed +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/arrow_endpoint_version.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/arrow_graph_constructor.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/gds_arrow_client.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/graph_constructor.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/cora/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/cora/cora_nodes.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/cora/cora_rels.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/cora/serialize_cora.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_acted_in.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_actors.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_directed_in.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_directors.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_movies_with_genre.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_movies_without_genre.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/serialize_imdb.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/karate/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/karate/karate_club.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/artist_nodes.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/serialize_lastfm.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/user_friend_df_directed.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/user_listen_artist_rels.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/user_nodes.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/user_tag_artist_rels.parquet.gzip +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/server_version/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/server_version/compatible_with.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/server_version/server_version.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/algorithm_category.py +0 -0
- /graphdatascience-1.11a3/graphdatascience/system/__init__.py → /graphdatascience-1.12a1/graphdatascience/session/aurads_sessions.py +0 -0
- {graphdatascience-1.11a3/graphdatascience/topological_lp → graphdatascience-1.12a1/graphdatascience/session/dbms}/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/dbms_connection_info.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/region_suggester.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/session_sizes.py +0 -0
- {graphdatascience-1.11a3/graphdatascience/utils → graphdatascience-1.12a1/graphdatascience/system}/__init__.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/topological_lp/topological_lp_endpoints.py +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience.egg-info/dependency_links.txt +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience.egg-info/not-zip-safe +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience.egg-info/top_level.txt +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/requirements/base/networkx.txt +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/requirements/base/ogb.txt +0 -0
- {graphdatascience-1.11a3 → graphdatascience-1.12a1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: graphdatascience
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.12a1
|
|
4
4
|
Summary: A Python client for the Neo4j Graph Data Science (GDS) library
|
|
5
5
|
Home-page: https://neo4j.com/product/graph-data-science/
|
|
6
6
|
Author: Neo4j
|
|
@@ -29,7 +29,7 @@ Requires-Python: >=3.8
|
|
|
29
29
|
Description-Content-Type: text/markdown
|
|
30
30
|
License-File: LICENSE
|
|
31
31
|
Requires-Dist: multimethod<2.0,>=1.0
|
|
32
|
-
Requires-Dist: neo4j<6.0,>=4.4.
|
|
32
|
+
Requires-Dist: neo4j<6.0,>=4.4.12
|
|
33
33
|
Requires-Dist: numpy<2.0
|
|
34
34
|
Requires-Dist: pandas<3.0,>=1.0
|
|
35
35
|
Requires-Dist: pyarrow<17.0,>=14.0.1
|
|
@@ -41,6 +41,8 @@ Provides-Extra: ogb
|
|
|
41
41
|
Requires-Dist: ogb<2.0,>=1.0; extra == "ogb"
|
|
42
42
|
Provides-Extra: networkx
|
|
43
43
|
Requires-Dist: networkx<4.0,>=2.0; extra == "networkx"
|
|
44
|
+
Provides-Extra: rust-ext
|
|
45
|
+
Requires-Dist: neo4j-rust-ext<6.0,>=4.4.2; extra == "rust-ext"
|
|
44
46
|
|
|
45
47
|
# Neo4j Graph Data Science Client
|
|
46
48
|
|
|
@@ -142,8 +144,6 @@ The manual is versioned to cover all GDS Python Client versions, so make sure to
|
|
|
142
144
|
Operations known to not yet work with `graphdatascience`:
|
|
143
145
|
|
|
144
146
|
* [Numeric utility functions](https://neo4j.com/docs/graph-data-science/current/management-ops/utility-functions/#utility-functions-numeric) (will never be supported)
|
|
145
|
-
* [Cypher on GDS](https://neo4j.com/docs/graph-data-science/current/management-ops/create-cypher-db/) (might be supported in the future)
|
|
146
|
-
* [Projecting graphs using Cypher Aggregation](https://neo4j.com/docs/graph-data-science/current/management-ops/projections/graph-project-cypher-aggregation/) (might be supported in the future)
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
## License
|
|
@@ -98,8 +98,6 @@ The manual is versioned to cover all GDS Python Client versions, so make sure to
|
|
|
98
98
|
Operations known to not yet work with `graphdatascience`:
|
|
99
99
|
|
|
100
100
|
* [Numeric utility functions](https://neo4j.com/docs/graph-data-science/current/management-ops/utility-functions/#utility-functions-numeric) (will never be supported)
|
|
101
|
-
* [Cypher on GDS](https://neo4j.com/docs/graph-data-science/current/management-ops/create-cypher-db/) (might be supported in the future)
|
|
102
|
-
* [Projecting graphs using Cypher Aggregation](https://neo4j.com/docs/graph-data-science/current/management-ops/projections/graph-project-cypher-aggregation/) (might be supported in the future)
|
|
103
101
|
|
|
104
102
|
|
|
105
103
|
## License
|
{graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/algo/algo_proc_runner.py
RENAMED
|
@@ -3,11 +3,11 @@ from typing import Any, Dict, Tuple
|
|
|
3
3
|
|
|
4
4
|
from pandas import DataFrame, Series
|
|
5
5
|
|
|
6
|
+
from ..call_parameters import CallParameters
|
|
6
7
|
from ..error.illegal_attr_checker import IllegalAttrChecker
|
|
7
8
|
from ..graph.graph_object import Graph
|
|
8
9
|
from ..graph.graph_type_check import graph_type_check
|
|
9
10
|
from ..model.graphsage_model import GraphSageModel
|
|
10
|
-
from graphdatascience.call_parameters import CallParameters
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class AlgoProcRunner(IllegalAttrChecker, ABC):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .algo.algo_endpoints import AlgoEndpoints
|
|
2
2
|
from .error.uncallable_namespace import UncallableNamespace
|
|
3
|
-
from .utils.
|
|
3
|
+
from .utils.direct_util_endpoints import IndirectUtilAlphaEndpoints
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class IndirectCallBuilder(AlgoEndpoints, UncallableNamespace):
|
|
@@ -23,7 +23,7 @@ from .system.system_endpoints import (
|
|
|
23
23
|
SystemBetaEndpoints,
|
|
24
24
|
)
|
|
25
25
|
from .topological_lp.topological_lp_endpoints import TopologicalLPAlphaEndpoints
|
|
26
|
-
from .utils.
|
|
26
|
+
from .utils.direct_util_endpoints import DirectUtilEndpoints
|
|
27
27
|
|
|
28
28
|
"""
|
|
29
29
|
This class should inherit endpoint classes that only contain endpoints that can be called directly from
|
|
@@ -44,7 +44,7 @@ class DirectEndpoints(
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
"""
|
|
47
|
-
This class should inherit endpoint classes that only expose calls of the `gds.
|
|
47
|
+
This class should inherit endpoint classes that only expose calls of the `gds.alpha` namespace.
|
|
48
48
|
Example of such endpoints: "gds.alpha.listProgress".
|
|
49
49
|
"""
|
|
50
50
|
|
|
@@ -65,6 +65,21 @@ class AlphaEndpoints(
|
|
|
65
65
|
return IndirectAlphaCallBuilder(self._query_runner, f"{self._namespace}.{attr}", self._server_version)
|
|
66
66
|
|
|
67
67
|
|
|
68
|
+
class AlphaRemoteEndpoints(
|
|
69
|
+
GraphAlphaEndpoints,
|
|
70
|
+
PipelineAlphaEndpoints,
|
|
71
|
+
ModelAlphaEndpoints,
|
|
72
|
+
SingleModeAlphaAlgoEndpoints,
|
|
73
|
+
SystemAlphaEndpoints,
|
|
74
|
+
AlphaConfigEndpoints,
|
|
75
|
+
):
|
|
76
|
+
def __init__(self, query_runner: QueryRunner, namespace: str, server_version: ServerVersion):
|
|
77
|
+
super().__init__(query_runner, namespace, server_version)
|
|
78
|
+
|
|
79
|
+
def __getattr__(self, attr: str) -> IndirectAlphaCallBuilder:
|
|
80
|
+
return IndirectAlphaCallBuilder(self._query_runner, f"{self._namespace}.{attr}", self._server_version)
|
|
81
|
+
|
|
82
|
+
|
|
68
83
|
"""
|
|
69
84
|
This class should inherit endpoint classes that only expose calls of the `gds.beta` namespace.
|
|
70
85
|
Example of such endpoints: "gds.beta.listProgress".
|
{graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/base_graph_proc_runner.py
RENAMED
|
@@ -9,11 +9,13 @@ from multimethod import multimethod
|
|
|
9
9
|
from neo4j import __version__ as neo4j_driver_version
|
|
10
10
|
from pandas import DataFrame, Series, read_parquet
|
|
11
11
|
|
|
12
|
+
from ..call_parameters import CallParameters
|
|
12
13
|
from ..error.client_only_endpoint import client_only_endpoint
|
|
13
14
|
from ..error.illegal_attr_checker import IllegalAttrChecker
|
|
14
15
|
from ..error.uncallable_namespace import UncallableNamespace
|
|
15
16
|
from ..server_version.compatible_with import compatible_with
|
|
16
17
|
from ..server_version.server_version import ServerVersion
|
|
18
|
+
from .graph_create_result import GraphCreateResult
|
|
17
19
|
from .graph_entity_ops_runner import (
|
|
18
20
|
GraphLabelRunner,
|
|
19
21
|
GraphNodePropertiesRunner,
|
|
@@ -33,8 +35,6 @@ from .graph_type_check import (
|
|
|
33
35
|
graph_type_check_optional,
|
|
34
36
|
)
|
|
35
37
|
from .ogb_loader import OGBLLoader, OGBNLoader
|
|
36
|
-
from graphdatascience.call_parameters import CallParameters
|
|
37
|
-
from graphdatascience.graph.graph_create_result import GraphCreateResult
|
|
38
38
|
|
|
39
39
|
Strings = Union[str, List[str]]
|
|
40
40
|
|
|
@@ -120,7 +120,7 @@ class BaseGraphProcRunner(UncallableNamespace, IllegalAttrChecker):
|
|
|
120
120
|
)
|
|
121
121
|
constructor.run(nodes, relationships)
|
|
122
122
|
|
|
123
|
-
return Graph(graph_name, self._query_runner
|
|
123
|
+
return Graph(graph_name, self._query_runner)
|
|
124
124
|
|
|
125
125
|
@client_only_endpoint("gds.graph")
|
|
126
126
|
def load_cora(self, graph_name: str = "cora", undirected: bool = False) -> Graph:
|
|
@@ -250,7 +250,7 @@ class BaseGraphProcRunner(UncallableNamespace, IllegalAttrChecker):
|
|
|
250
250
|
params=params,
|
|
251
251
|
).squeeze()
|
|
252
252
|
|
|
253
|
-
return GraphCreateResult(Graph(graph_name, self._query_runner
|
|
253
|
+
return GraphCreateResult(Graph(graph_name, self._query_runner), result)
|
|
254
254
|
|
|
255
255
|
@from_graph_type_check
|
|
256
256
|
@compatible_with("filter", min_inclusive=ServerVersion(2, 5, 0))
|
|
@@ -276,7 +276,7 @@ class BaseGraphProcRunner(UncallableNamespace, IllegalAttrChecker):
|
|
|
276
276
|
params=params,
|
|
277
277
|
).squeeze()
|
|
278
278
|
|
|
279
|
-
return GraphCreateResult(Graph(graph_name, self._query_runner
|
|
279
|
+
return GraphCreateResult(Graph(graph_name, self._query_runner), result)
|
|
280
280
|
|
|
281
281
|
@property
|
|
282
282
|
def export(self) -> GraphExportRunner:
|
|
@@ -357,7 +357,7 @@ class BaseGraphProcRunner(UncallableNamespace, IllegalAttrChecker):
|
|
|
357
357
|
f"No projected graph named '{graph_name}' exists in current database '{self._query_runner.database()}'"
|
|
358
358
|
)
|
|
359
359
|
|
|
360
|
-
return Graph(graph_name, self._query_runner
|
|
360
|
+
return Graph(graph_name, self._query_runner)
|
|
361
361
|
|
|
362
362
|
@graph_type_check
|
|
363
363
|
def _handle_properties(
|
{graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_beta_proc_runner.py
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
from typing import Any, List, Union
|
|
2
2
|
|
|
3
|
+
from ..call_parameters import CallParameters
|
|
3
4
|
from ..error.illegal_attr_checker import IllegalAttrChecker
|
|
4
5
|
from ..error.uncallable_namespace import UncallableNamespace
|
|
6
|
+
from .graph_create_result import GraphCreateResult
|
|
7
|
+
from .graph_entity_ops_runner import GraphRelationshipsBetaRunner
|
|
5
8
|
from .graph_export_runner import GraphExportCsvEndpoints
|
|
6
9
|
from .graph_object import Graph
|
|
7
10
|
from .graph_project_runner import GraphProjectBetaRunner
|
|
8
|
-
from graphdatascience.call_parameters import CallParameters
|
|
9
|
-
from graphdatascience.graph.graph_create_result import GraphCreateResult
|
|
10
|
-
from graphdatascience.graph.graph_entity_ops_runner import GraphRelationshipsBetaRunner
|
|
11
11
|
|
|
12
12
|
Strings = Union[str, List[str]]
|
|
13
13
|
|
|
@@ -40,4 +40,4 @@ class GraphBetaProcRunner(UncallableNamespace, IllegalAttrChecker):
|
|
|
40
40
|
|
|
41
41
|
result = self._query_runner.call_procedure(endpoint=self._namespace, params=params).squeeze()
|
|
42
42
|
|
|
43
|
-
return GraphCreateResult(Graph(graph_name, self._query_runner
|
|
43
|
+
return GraphCreateResult(Graph(graph_name, self._query_runner), result)
|
{graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_cypher_runner.py
RENAMED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import re
|
|
2
4
|
from itertools import chain, zip_longest
|
|
3
|
-
from typing import Any, Optional
|
|
5
|
+
from typing import Any, Dict, Optional
|
|
6
|
+
|
|
7
|
+
from pandas import Series
|
|
4
8
|
|
|
5
9
|
from ..caller_base import CallerBase
|
|
6
10
|
from ..query_runner.query_runner import QueryRunner
|
|
@@ -41,7 +45,10 @@ class GraphCypherRunner(CallerBase):
|
|
|
41
45
|
|
|
42
46
|
GraphCypherRunner._verify_query_ends_with_return_clause(self._namespace, query)
|
|
43
47
|
|
|
44
|
-
result = self._query_runner.run_cypher(query, params, database, False).squeeze()
|
|
48
|
+
result: Optional[Dict[str, Any]] = self._query_runner.run_cypher(query, params, database, False).squeeze()
|
|
49
|
+
|
|
50
|
+
if not result:
|
|
51
|
+
raise ValueError("Projected graph cannot be empty.")
|
|
45
52
|
|
|
46
53
|
try:
|
|
47
54
|
graph_name = str(result["graphName"])
|
|
@@ -50,7 +57,7 @@ class GraphCypherRunner(CallerBase):
|
|
|
50
57
|
f"Invalid query, the query must end with the `RETURN {self._namespace}(...)` call: {query}"
|
|
51
58
|
)
|
|
52
59
|
|
|
53
|
-
return GraphCreateResult(Graph(graph_name, self._query_runner
|
|
60
|
+
return GraphCreateResult(Graph(graph_name, self._query_runner), Series(data=result))
|
|
54
61
|
|
|
55
62
|
__separators = re.compile(r"[,(.]")
|
|
56
63
|
|
|
@@ -5,6 +5,10 @@ from warnings import filterwarnings
|
|
|
5
5
|
import pandas as pd
|
|
6
6
|
from pandas import DataFrame, Series
|
|
7
7
|
|
|
8
|
+
from ..call_parameters import CallParameters
|
|
9
|
+
from ..error.cypher_warning_handler import (
|
|
10
|
+
filter_id_func_deprecation_warning,
|
|
11
|
+
)
|
|
8
12
|
from ..error.illegal_attr_checker import IllegalAttrChecker
|
|
9
13
|
from ..error.uncallable_namespace import UncallableNamespace
|
|
10
14
|
from ..query_runner.query_runner import QueryRunner
|
|
@@ -13,10 +17,6 @@ from ..server_version.server_version import ServerVersion
|
|
|
13
17
|
from ..utils.util_proc_runner import UtilProcRunner
|
|
14
18
|
from .graph_object import Graph
|
|
15
19
|
from .graph_type_check import graph_type_check
|
|
16
|
-
from graphdatascience.call_parameters import CallParameters
|
|
17
|
-
from graphdatascience.error.cypher_warning_handler import (
|
|
18
|
-
filter_id_func_deprecation_warning,
|
|
19
|
-
)
|
|
20
20
|
|
|
21
21
|
Strings = Union[str, List[str]]
|
|
22
22
|
|
|
@@ -5,9 +5,8 @@ from typing import Any, List, Optional, Type, Union
|
|
|
5
5
|
|
|
6
6
|
from pandas import Series
|
|
7
7
|
|
|
8
|
+
from ..call_parameters import CallParameters
|
|
8
9
|
from ..query_runner.query_runner import QueryRunner
|
|
9
|
-
from ..server_version.server_version import ServerVersion
|
|
10
|
-
from graphdatascience.call_parameters import CallParameters
|
|
11
10
|
|
|
12
11
|
|
|
13
12
|
class Graph:
|
|
@@ -17,11 +16,10 @@ class Graph:
|
|
|
17
16
|
It contains summary information about the graph.
|
|
18
17
|
"""
|
|
19
18
|
|
|
20
|
-
def __init__(self, name: str, query_runner: QueryRunner
|
|
19
|
+
def __init__(self, name: str, query_runner: QueryRunner):
|
|
21
20
|
self._name = name
|
|
22
21
|
self._query_runner = query_runner
|
|
23
22
|
self._db = query_runner.database()
|
|
24
|
-
self._server_version = server_version
|
|
25
23
|
|
|
26
24
|
def __enter__(self: Graph) -> Graph:
|
|
27
25
|
return self
|
{graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_proc_runner.py
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
from .base_graph_proc_runner import BaseGraphProcRunner
|
|
2
|
+
from .graph_cypher_runner import GraphCypherRunner
|
|
1
3
|
from .graph_project_runner import GraphProjectRunner
|
|
2
|
-
from graphdatascience.graph.base_graph_proc_runner import BaseGraphProcRunner
|
|
3
|
-
from graphdatascience.graph.graph_cypher_runner import GraphCypherRunner
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class GraphProcRunner(BaseGraphProcRunner):
|
{graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_project_runner.py
RENAMED
|
@@ -4,11 +4,11 @@ from typing import Any
|
|
|
4
4
|
|
|
5
5
|
from pandas import Series
|
|
6
6
|
|
|
7
|
+
from ..call_parameters import CallParameters
|
|
7
8
|
from ..error.illegal_attr_checker import IllegalAttrChecker
|
|
9
|
+
from .graph_create_result import GraphCreateResult
|
|
8
10
|
from .graph_object import Graph
|
|
9
11
|
from .graph_type_check import from_graph_type_check
|
|
10
|
-
from graphdatascience.call_parameters import CallParameters
|
|
11
|
-
from graphdatascience.graph.graph_create_result import GraphCreateResult
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class GraphProjectRunner(IllegalAttrChecker):
|
|
@@ -25,7 +25,7 @@ class GraphProjectRunner(IllegalAttrChecker):
|
|
|
25
25
|
logging=True,
|
|
26
26
|
).squeeze()
|
|
27
27
|
|
|
28
|
-
return GraphCreateResult(Graph(graph_name, self._query_runner
|
|
28
|
+
return GraphCreateResult(Graph(graph_name, self._query_runner), result)
|
|
29
29
|
|
|
30
30
|
def estimate(self, node_projection: Any, relationship_projection: Any, **config: Any) -> "Series[Any]":
|
|
31
31
|
self._namespace += ".estimate"
|
|
@@ -69,4 +69,4 @@ class GraphProjectBetaRunner(IllegalAttrChecker):
|
|
|
69
69
|
logging=True,
|
|
70
70
|
).squeeze()
|
|
71
71
|
|
|
72
|
-
return GraphCreateResult(Graph(graph_name, self._query_runner
|
|
72
|
+
return GraphCreateResult(Graph(graph_name, self._query_runner), result)
|
|
@@ -2,13 +2,13 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import List, Optional
|
|
4
4
|
|
|
5
|
+
from ..call_parameters import CallParameters
|
|
5
6
|
from ..error.illegal_attr_checker import IllegalAttrChecker
|
|
6
|
-
from ..query_runner.
|
|
7
|
+
from ..query_runner.session_query_runner import SessionQueryRunner
|
|
7
8
|
from ..server_version.compatible_with import compatible_with
|
|
9
|
+
from ..server_version.server_version import ServerVersion
|
|
10
|
+
from .graph_create_result import GraphCreateResult
|
|
8
11
|
from .graph_object import Graph
|
|
9
|
-
from graphdatascience.call_parameters import CallParameters
|
|
10
|
-
from graphdatascience.graph.graph_create_result import GraphCreateResult
|
|
11
|
-
from graphdatascience.server_version.server_version import ServerVersion
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class GraphProjectRemoteRunner(IllegalAttrChecker):
|
|
@@ -41,7 +41,7 @@ class GraphProjectRemoteRunner(IllegalAttrChecker):
|
|
|
41
41
|
)
|
|
42
42
|
|
|
43
43
|
result = self._query_runner.call_procedure(
|
|
44
|
-
endpoint=
|
|
44
|
+
endpoint=SessionQueryRunner.GDS_REMOTE_PROJECTION_PROC_NAME,
|
|
45
45
|
params=params,
|
|
46
46
|
).squeeze()
|
|
47
|
-
return GraphCreateResult(Graph(graph_name, self._query_runner
|
|
47
|
+
return GraphCreateResult(Graph(graph_name, self._query_runner), result)
|
{graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_sample_runner.py
RENAMED
|
@@ -2,13 +2,13 @@ from typing import Any
|
|
|
2
2
|
|
|
3
3
|
from pandas import Series
|
|
4
4
|
|
|
5
|
+
from ..call_parameters import CallParameters
|
|
5
6
|
from ..error.illegal_attr_checker import IllegalAttrChecker
|
|
6
7
|
from ..server_version.compatible_with import compatible_with
|
|
7
8
|
from ..server_version.server_version import ServerVersion
|
|
9
|
+
from .graph_create_result import GraphCreateResult
|
|
8
10
|
from .graph_object import Graph
|
|
9
11
|
from .graph_type_check import from_graph_type_check
|
|
10
|
-
from graphdatascience.call_parameters import CallParameters
|
|
11
|
-
from graphdatascience.graph.graph_create_result import GraphCreateResult
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class GraphAlphaSampleRunner(IllegalAttrChecker):
|
|
@@ -41,7 +41,7 @@ class RWRRunner(IllegalAttrChecker):
|
|
|
41
41
|
|
|
42
42
|
result = self._query_runner.call_procedure(endpoint=self._namespace, params=params, logging=True).squeeze()
|
|
43
43
|
|
|
44
|
-
return GraphCreateResult(Graph(graph_name, self._query_runner
|
|
44
|
+
return GraphCreateResult(Graph(graph_name, self._query_runner), result)
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
class CNARWRunner(IllegalAttrChecker):
|
|
@@ -55,7 +55,7 @@ class CNARWRunner(IllegalAttrChecker):
|
|
|
55
55
|
)
|
|
56
56
|
result = self._query_runner.call_procedure(endpoint=self._namespace, params=params, logging=True).squeeze()
|
|
57
57
|
|
|
58
|
-
return GraphCreateResult(Graph(graph_name, self._query_runner
|
|
58
|
+
return GraphCreateResult(Graph(graph_name, self._query_runner), result)
|
|
59
59
|
|
|
60
60
|
def estimate(self, from_G: Graph, **config: Any) -> "Series[Any]":
|
|
61
61
|
self._namespace += ".estimate"
|
|
@@ -25,7 +25,7 @@ class NXLoader(UncallableNamespace, IllegalAttrChecker):
|
|
|
25
25
|
constructor = self._query_runner.create_graph_constructor(graph_name, concurrency, undirected_rel_types)
|
|
26
26
|
constructor.run(nodes, rels)
|
|
27
27
|
|
|
28
|
-
return Graph(graph_name, self._query_runner
|
|
28
|
+
return Graph(graph_name, self._query_runner)
|
|
29
29
|
|
|
30
30
|
@staticmethod
|
|
31
31
|
def _attr_to_labels_key(labels_attr: Any, node_id: Any, no_node_labels: Optional[bool]) -> Tuple[str, ...]:
|
|
@@ -96,7 +96,7 @@ class OGBLoader(UncallableNamespace, IllegalAttrChecker, ABC):
|
|
|
96
96
|
constructor = self._query_runner.create_graph_constructor(graph_name, concurrency, [])
|
|
97
97
|
constructor.run(nodes, rels)
|
|
98
98
|
|
|
99
|
-
return Graph(graph_name, self._query_runner
|
|
99
|
+
return Graph(graph_name, self._query_runner)
|
|
100
100
|
|
|
101
101
|
|
|
102
102
|
class OGBNLoader(OGBLoader):
|
|
@@ -8,11 +8,12 @@ from pandas import DataFrame
|
|
|
8
8
|
from .call_builder import IndirectCallBuilder
|
|
9
9
|
from .endpoints import AlphaEndpoints, BetaEndpoints, DirectEndpoints
|
|
10
10
|
from .error.uncallable_namespace import UncallableNamespace
|
|
11
|
+
from .graph.graph_proc_runner import GraphProcRunner
|
|
11
12
|
from .query_runner.arrow_query_runner import ArrowQueryRunner
|
|
12
13
|
from .query_runner.neo4j_query_runner import Neo4jQueryRunner
|
|
13
14
|
from .query_runner.query_runner import QueryRunner
|
|
14
15
|
from .server_version.server_version import ServerVersion
|
|
15
|
-
from
|
|
16
|
+
from .utils.util_proc_runner import UtilProcRunner
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
class GraphDataScience(DirectEndpoints, UncallableNamespace):
|
|
@@ -48,11 +49,12 @@ class GraphDataScience(DirectEndpoints, UncallableNamespace):
|
|
|
48
49
|
database: Optional[str], default None
|
|
49
50
|
The Neo4j database to query against.
|
|
50
51
|
arrow : Union[str, bool], default True
|
|
51
|
-
Arrow connection information. This is either a
|
|
52
|
-
|
|
53
|
-
If it is a
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
Arrow connection information. This is either a string or a bool.
|
|
53
|
+
|
|
54
|
+
- If it is a string, it will be interpreted as a connection URL to a GDS Arrow Server.
|
|
55
|
+
- If it is a bool:
|
|
56
|
+
- True will make the client discover the connection URI to the GDS Arrow server via the Neo4j endpoint.
|
|
57
|
+
- False will make the client use Bolt for all operations.
|
|
56
58
|
arrow_disable_server_verification : bool, default True
|
|
57
59
|
A flag that overrides other TLS settings and disables server verification for TLS connections.
|
|
58
60
|
arrow_tls_root_certs : Optional[bytes], default None
|
|
@@ -81,12 +83,16 @@ class GraphDataScience(DirectEndpoints, UncallableNamespace):
|
|
|
81
83
|
None if arrow is True else arrow,
|
|
82
84
|
)
|
|
83
85
|
|
|
84
|
-
super().__init__(self._query_runner, "gds", self._server_version)
|
|
86
|
+
super().__init__(self._query_runner, namespace="gds", server_version=self._server_version)
|
|
85
87
|
|
|
86
88
|
@property
|
|
87
89
|
def graph(self) -> GraphProcRunner:
|
|
88
90
|
return GraphProcRunner(self._query_runner, f"{self._namespace}.graph", self._server_version)
|
|
89
91
|
|
|
92
|
+
@property
|
|
93
|
+
def util(self) -> UtilProcRunner:
|
|
94
|
+
return UtilProcRunner(self._query_runner, f"{self._namespace}.util", self._server_version)
|
|
95
|
+
|
|
90
96
|
@property
|
|
91
97
|
def alpha(self) -> AlphaEndpoints:
|
|
92
98
|
return AlphaEndpoints(self._query_runner, "gds.alpha", self._server_version)
|
{graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/graphsage_model.py
RENAMED
|
@@ -2,10 +2,10 @@ from typing import Any
|
|
|
2
2
|
|
|
3
3
|
from pandas import Series
|
|
4
4
|
|
|
5
|
+
from ..call_parameters import CallParameters
|
|
5
6
|
from ..graph.graph_object import Graph
|
|
6
7
|
from ..graph.graph_type_check import graph_type_check
|
|
7
8
|
from .model import Model
|
|
8
|
-
from graphdatascience.call_parameters import CallParameters
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class GraphSageModel(Model):
|
{graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/link_prediction_model.py
RENAMED
|
@@ -41,5 +41,5 @@ class LPModel(PipelineModel):
|
|
|
41
41
|
A list of LinkFeatures of the pipeline.
|
|
42
42
|
|
|
43
43
|
"""
|
|
44
|
-
steps: List[Dict[str, Any]] = self._list_info()["modelInfo"][
|
|
44
|
+
steps: List[Dict[str, Any]] = self._list_info()["modelInfo"]["pipeline"]["featureSteps"]
|
|
45
45
|
return [LinkFeature(s["name"], s["config"]) for s in steps]
|