Skip to content

Releases: neo4j/graph-data-science-client

1.18a1

17 Oct 10:44

Choose a tag to compare

1.18a1 Pre-release
Pre-release

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 GraphDataScience object created via GraphDataScience.from_neo4j_driver would also close the Neo4j driver object on close(). 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

22 Sep 08:00

Choose a tag to compare

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_create could not verify the connection to the database if the neo4j database would not present.

Improvements

  • GraphDataScience::run_query now supports setting the mode of the query to be used for routing. Previously queries would always route the leader of the cluster, assuming write mode.
  • GraphDataScience::run_query now support setting retryable to enable a retry-mechanism for appropriate errors. This requires neo4j>=5.5.0.

1.17a1

25 Jul 08:52
2909b97

Choose a tag to compare

1.17a1 Pre-release
Pre-release

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_query now supports setting the mode of the query to be used for routing. Previously queries would always route the leader of the cluster, assuming write mode.
  • GraphDataScience::run_query now support setting retryable to enable a retry-mechanism for appropriate errors. This requires neo4j>=5.5.0.

1.16

30 Jun 14:36

Choose a tag to compare

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 512GB and 2GB.
  • 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_env
    • DbmsConnectionInfo::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 pass auth of type neo4j.Auth instead of username + password.

1.15.1

19 May 13:48

Choose a tag to compare

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

06 May 08:39
144f149

Choose a tag to compare

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_id to project_id in class graphdatascience.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 FlightUnavailableError and FlightTimedOutError.
  • Return dedicated error class SessionStatusError if 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

10 Apr 14:44

Choose a tag to compare

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_id to project_id in class graphdatascience.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 FlightUnavailableError and FlightTimedOutError.
  • Return dedicated error class SessionStatusError if 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

24 Mar 10:20

Choose a tag to compare

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 FlightUnavailableError and FlightTimedOutError.

Neo4j Graph Data Science Python Client 1.14

20 Feb 12:56

Choose a tag to compare

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 jobId parameter was set. The progress bar can be toggled on and off via GraphDataScience::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 str to gds.graph.list() instead of only Graph.
  • 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_properties parameter also as type str instead of only list for endpoint gds.graph.nodeProperties.stream.

Full Changelog: 1.13...1.14

Neo4j Graph Data Science Python Client 1.13

07 Jan 10:51

Choose a tag to compare

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.8 as its EOL
  • Drop support for PyArrow 14
  • Throw on duplicate node properties passed to gds.graph.nodeProperties.stream as 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 if listNodeLabels=True and separate_property_columns=True is given.

Improvements

  • Inform about Session failures such as Out of Memory. GdsSession::get_or_create will fail and GdsSessions::list_sessions will return the errors in a new field along errors.
  • 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