Releases: neo4j/graph-data-science-client
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_query
now supports setting themode
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 settingretryable
to 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
512GB
and2GB
. - 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 passauth
of typeneo4j.Auth
instead 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_id
toproject_id
in 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
FlightUnavailableError
andFlightTimedOutError
. - 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
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
toproject_id
in 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
FlightUnavailableError
andFlightTimedOutError
. - 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
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
andFlightTimedOutError
.
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
jobId
parameter 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
str
togds.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_properties
parameter also as typestr
instead 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.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 iflistNodeLabels=True
andseparate_property_columns=True
is given.
Improvements
- Inform about Session failures such as
Out of Memory
.GdsSession::get_or_create
will fail andGdsSessions::list_sessions
will 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
Neo4j Graph Data Science Python Client 1.12
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 parametercloud_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 toGdsSessions.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
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 parametercloud_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 toGdsSessions.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.