Skip to content

Releases: neo4j/graph-data-science-client

1.17a1

25 Jul 08:52
2909b97
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

Neo4j Graph Data Science Python Client 1.12

09 Oct 13:12
Compare
Choose a tag to compare

We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.12. It is published to PyPI.

Documentation: https://neo4j.com/docs/graph-data-science-client/1.12/

Highlights:

New features

  • Add Neo4j python driver rust extension as a new optional dependency.
  • Support creating GDS Sessions for self-managed Neo4j DBMS.
    • GdsSessions.get_or_create requires a new parameter cloud_location to specify where the session will be created.
  • Return the id of a session and allow deletion by id or name.
  • Add ttl parameter to GdsSessions.get_or_create to control if and when an unused session will be automatically deleted.
  • Add concurrency control for remote write-back procedures using the concurrency parameter.
  • Add progress logging for remote write-back when using GDS Sessions.
  • Added a flag to GraphDataScience and AuraGraphDataScience classes to disable displaying progress bars when running procedures.

Improvements

  • The database connection is now validated before a session is created.
  • Retry authentication requests.

Neo4j Graph Data Science Python Client 1.12a1

02 Sep 14:46
Compare
Choose a tag to compare

We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.12a1. It is published to PyPI.

Documentation: https://neo4j.com/docs/graph-data-science-client/1.12-preview/

Highlights:

New features

  • Add Neo4j python driver rust extension as a new optional dependency.
  • Support creating GDS Sessions for self-managed Neo4j DBMS.
    • GdsSessions.get_or_create requires a new parameter cloud_location to specify where the session will be created.
  • Return the id of a session and allow deletion by id or name.
  • Add ttl parameter to GdsSessions.get_or_create to control if and when an unused session will be automatically deleted.
  • Add concurrency control for remote write-back procedures using the concurrency parameter.
  • Add progress logging for remote write-back when using GDS Sessions.

Improvements

  • The database connection is now validated before a session is created.