Releases: neo4j/graph-data-science-client
1.18a1
We are happy to announce the release of graphdatascience, the GDS Python client, version 1.18a1. It is published to PyPI.
Breaking changes
- Drop support for Python 3.9
New features
Bug fixes
- Fixed a bug where
GraphDataScienceobject created viaGraphDataScience.from_neo4j_driverwould also close the Neo4j driver object onclose(). As sole ownership of the driver cannot be expected in this case, the user should close the driver object on their own.
Improvements
- Added retries to verifying connection and authentication of DB connection provided to
GdsSessions.getOrCreate
Other changes
- Add support for PyArrow 21.0.0
- Drop support for PyArrow 17.0
- Support numpy 1.24.0
- Add support for neo4j 6.0
1.17
We are happy to announce the release of graphdatascience, the GDS Python client, version 1.17. It is published to PyPI.
New features
sessions.get_or_create()now supports passing additional configuration options for the Arrow Flight Client.
Bug fixes
- Fix reporting error based on http responses from the Aura-API with an invalid JSON body. Earlier the client would report JSONDecodeError instead of showing the actual issue.
- Fixed a bug where retryable queries wouldnt work with bookmarks.
- Fixed a bug where
GdsSession.get_or_createcould not verify the connection to the database if theneo4jdatabase would not present.
Improvements
GraphDataScience::run_querynow supports setting themodeof the query to be used for routing. Previously queries would always route the leader of the cluster, assuming write mode.GraphDataScience::run_querynow support settingretryableto enable a retry-mechanism for appropriate errors. This requiresneo4j>=5.5.0.
1.17a1
We are happy to announce the release of graphdatascience, the GDS Python client, version 1.17a1. It is published to PyPI.
New features
sessions.get_or_create()now supports passing additional configuration options for the Arrow Flight Client.
Bug fixes
- Fix reporting error based on http responses from the Aura-API with an invalid JSON body. Earlier the client would report JSONDecodeError instead of showing the actual issue.
- Fixed a bug where retryable queries wouldnt work with bookmarks.
Improvements
GraphDataScience::run_querynow supports setting themodeof the query to be used for routing. Previously queries would always route the leader of the cluster, assuming write mode.GraphDataScience::run_querynow support settingretryableto enable a retry-mechanism for appropriate errors. This requiresneo4j>=5.5.0.
1.16
We are happy to announce the release of graphdatascience, the GDS Python client, version 1.16. It is published to PyPI.
Documentation: https://neo4j.com/docs/graph-data-science-client/1.16/
Breaking changes
- Drop support for PyArrow 16
Bug fixes
- Fixed a bug where remote projections would fail when the database is clustered
- Fixed a bug where the validation of gds.graph.project.cypher would fail when the return clause was not uppercase
Improvements
- Allow creating sessions of size
512GBand2GB. - Allow passing additional parameters for the Neo4j driver connection to
GdsSessions.get_or_create(neo4j_driver_config={..}) - Add helper functions to create config objects from environment variables
AuraApiCredentials::from_envDbmsConnectionInfo::from_env
- Retry internal functions known to be idempotent. Reduces issues such as
SessionExpiredError. - Add support for PyArrow 20
- Add support for more advanced authentication in
DbmsConnectionInfo. Allowing to passauthof typeneo4j.Authinstead of username + password.
1.15.1
We are happy to announce the release of graphdatascience, the GDS Python client, version 1.15.1. It is published to PyPI.
Documentation: https://neo4j.com/docs/graph-data-science-client/1.15.1/
Bug fixes
Fixed a bug where remote projections would fail when the database is clustered
Improvements
Allow creating sessions of size 512GB.
1.15
We are happy to announce the release of graphdatascience, the GDS Python client, version 1.15. It is published to PyPI.
Documentation: https://neo4j.com/docs/graph-data-science-client/1.15/
Breaking changes
- Rename
tenant_idtoproject_idin classgraphdatascience.session.AuraAPICredentials.
New features
- Allow the creation of fully standalone GDS Sessions by omitting the database connection information
Bug fixes
- Fixed a bug, where write procedures would not properly log for GDS Sessions.
Improvements
- Reduce calls to the Aura API during GdsSessions::get_or_create.
- Improve error message when a query is interrupted by a signal (SIGINT or SIGTERM).
- Improve error message if session is expired.
- Improve robustness of Arrow client against connection errors such as
FlightUnavailableErrorandFlightTimedOutError. - Return dedicated error class
SessionStatusErrorif a session failed or expired.
Other changes
- Aura API credentials will now be used to authenticate with the Session
Neo4j Graph Data Science Python Client 1.15a2
We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.15a2. It is published to PyPI.
Documentation: https://neo4j.com/docs/graph-data-science-client/1.15-preview/
Breaking changes
- Rename
tenant_idtoproject_idin classgraphdatascience.session.AuraAPICredentials.
New features
- Allow the creation of fully standalone GDS Sessions by omitting the database connection information
Improvements
- Reduce calls to the Aura API during GdsSessions::get_or_create.
- Improve error message when a query is interrupted by a signal (SIGINT or SIGTERM).
- Improve error message if session is expired.
- Improve robustness of Arrow client against connection errors such as
FlightUnavailableErrorandFlightTimedOutError. - Return dedicated error class
SessionStatusErrorif a session failed or expired.
Other changes
- Aura API credentials will now be used to authenticate with the Session
Neo4j Graph Data Science Python Client 1.15a1
We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.15a1. It is published to PyPI.
Documentation: https://neo4j.com/docs/graph-data-science-client/1.15-preview/
Improvements
- Reduce calls to the Aura API during GdsSessions::get_or_create.
- Improve error message when a query is interrupted by a signal (SIGINT or SIGTERM).
- Improve error message if session is expired.
- Improve robustness of Arrow client against connection errors such as
FlightUnavailableErrorandFlightTimedOutError.
Neo4j Graph Data Science Python Client 1.14
We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.14. It is published to PyPI.
Documentation: https://neo4j.com/docs/graph-data-science-client/1.14/
Breaking changes
- Drop support for PyArrow 15.
- Remove support for the alpha version of the GDS Arrow Server.
Bug fixes
- Fixed a bug, where sessions could not be created for AuraDB instances of tier
business-critical. - Fixed a bug, where sessions would fail on write-back if the Graph was empty.
- Fixed a bug, where the progress bar would not be shown unless the
jobIdparameter was set. The progress bar can be toggled on and off viaGraphDataScience::set_show_progress.
Improvements
- Support Python 3.13.
- Support PyArrow 19.0.
- Display progress bar for remote projection and open-ended tasks.
- Improve progress bar by showing the description of the currently running task.
- Allow passing the optional graph filter also as type
strtogds.graph.list()instead of onlyGraph. - Listen and to SIGINT and SIGTERM and interrupt projection and write-backs based on GDS Session. Note this only works if the query runs in the main thread.
- Avoid data copy by using the arrow-based DataFrame backend for arrow-based endpoints and if pandas>2.0
- Support
node_propertiesparameter also as typestrinstead of only list for endpointgds.graph.nodeProperties.stream.
Full Changelog: 1.13...1.14
Neo4j Graph Data Science Python Client 1.13
We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.13. It is published to PyPI.
Documentation: https://neo4j.com/docs/graph-data-science-client/1.13/
Breaking changes
- Drop support for Python
3.8as its EOL - Drop support for PyArrow 14
- Throw on duplicate node properties passed to
gds.graph.nodeProperties.streamas this is seen as a bad input. If duplication was intended, this can be done on the Dataframe result.
New features
- Add
GdsSessions::available_cloud_locations()to return available locations for session creation.
Bug fixes
- Fixed a bug for
gds.nodeProperties.stream()where the result contained duplicate rows iflistNodeLabels=Trueandseparate_property_columns=Trueis given.
Improvements
- Inform about Session failures such as
Out of Memory.GdsSession::get_or_createwill fail andGdsSessions::list_sessionswill return the errors in a new field alongerrors. - Improve error message around connection issues against Sessions.
- Avoid a query getting stuck on fetching progress logging if the database is unavailable.
Other changes
- Added support for PyArrow 18
Full Changelog: 1.12...1.13