Skip to content

Releases: neo4j/python-graph-visualization

v1.7.0

Choose a tag to compare

@FlorentinD FlorentinD released this 10 Jul 15:53
b24bd48

Changes

Breaking changes

New features

  • Added a color legend overlay to the visualization. It is captured automatically from color_nodes/color_relationships, can be set explicitly via set_legend, and toggled via show_legend.
  • Added neo4j_viz.streamlit.display_widget to embed an interactive GraphWidget in a Streamlit app with two-way state sync (selection and options flow back to Python), following the Streamlit light/dark theme. Install with the streamlit extra (pip install neo4j-viz[streamlit]).

Bug fixes

  • Fixed a bug where nodes and relationships could not be selected on using VG.render().

Improvements

Other changes

v1.6.0

Choose a tag to compare

@FlorentinD FlorentinD released this 26 Jun 14:45

Changes

Breaking changes

New features

  • Added the ability to set the selection mode (gesture) of the GraphWidget from Python, via the selection_mode render option or the GraphWidget.set_selection_mode method.
  • Added the GraphWidget.selected trait to read back the IDs of the nodes and relationships selected in the widget UI. Use the GraphWidget.on_selection_change method (or widget.observe) to react to selection changes.

Bug fixes

Improvements

Other changes

v1.5

Choose a tag to compare

@FlorentinD FlorentinD released this 12 Jun 15:26
4b5ad89

Changes in 1.5.0

Breaking changes

New features

  • Add GraphWidget methods to change render options in place without re-rendering: set_layout, set_zoom, set_pan, set_renderer, and set_show_layout_button
  • Add GraphWidget methods to change styling in place without re-rendering such as color_relationships

Bug fixes

  • Warn when relationships reference node ids that are not in the graph. It is configurable via the on_dangling parameter ("warn" (default), "error", or "none") on render, render_widget, and GraphWidget.add_data

Improvements

  • Support Python 3.14
  • Support Aura Graph Analytics
  • Support gds.v2 endpoints
  • Use typed options field in GraphWidget

Other changes

v1.4.0

v1.4.0 Pre-release
Pre-release

Choose a tag to compare

@FlorentinD FlorentinD released this 08 May 13:13
2422905

Changes in 1.4.0

Breaking changes

New features

Bug fixes

  • Fixed a bug in displaying the Download, Selection and Layout buttons, which was introduced in 1.2.0.

Improvements

  • Support neo4j.EagerResult in the from_neo4j integration which is the default return type by neo4j.Driver.execute_query().
  • Detect light/dark theme changes and adapt rendering unless theme was explicitly set. Before the theme would only be checked on the first render.

Other changes

v1.3.0

Choose a tag to compare

@FlorentinD FlorentinD released this 13 Mar 12:53
a0cdaee

Changes in 1.3.0

Breaking changes

New features

  • Add convenience method add_data and remove_data to GraphWidget.
  • Added a selection button to the toolbar.
  • Added a layout button to the toolbar if VG.render_widget is used.
  • Support the new circular layout.

Bug fixes

  • Fixed a bug with the theme detection inn VSCode.

Improvements

  • Allow setting the theme manually in VG.render(theme="light") and VG.render_widget(theme="dark").
  • Use typed nodes and relationship traitlets in GraphWidget, i.e., list of Node and Relationship instead of dictionaries.
  • render now allows to pass layout as a string as well. Previously expected to be a typed neo4j_viz.Layout.
  • Fixed rendering in Marimo notebooks

Other changes

v1.2

Choose a tag to compare

@FlorentinD FlorentinD released this 20 Feb 15:57
f460a08

Changes in 1.2.0

Breaking changes

  • Removed the show_hover_tooltip parameter from render(). The visualization now shows a detail side panel for selected nodes and relationships, replacing the previous hover tooltip.
  • Nodes are colored by default by their caption. Use VG.color_nodes(field="caption", colors=[neo4j_viz.colors.NEO4J_COLORS_DISCRETE[0]]) to apply the previous coloring.

New features

  • Nodes are now automatically colored by their caption (label) in the JavaScript visualization. This works out of the box without needing to call color_nodes(), and applies regardless of how the graph was created. Explicit colors set via color_nodes() or directly on nodes take precedence. There is no longer a limit on the number of unique labels for auto-coloring.
  • New Zoom to fit button in the visualization.
  • New render_widget() method on VisualizationGraph returns a GraphWidget (anywidget) for interactive two-way data sync in Jupyter environments (JupyterLab, Notebook 7, VS Code, Colab).

Improvements

  • Migrated JavaScript visualization from @neo4j-nvl/base to @neo4j-ndl/react-graph React component.
  • Migrated build system from Webpack to Vite.
  • Added anywidget integration as the primary rendering path for Jupyter environments.

v1.1.0

Choose a tag to compare

@FlorentinD FlorentinD released this 06 Feb 14:26

Changes in 1.1.0

Breaking changes

New features

  • Added a new utility function to color relationships VisualizationGraph.color_relationships
  • Added a new utility function to resize relationships VisualizationGraph.resize_relationships

Bug fixes

Improvements

Other changes

v1.0.0

Choose a tag to compare

@FlorentinD FlorentinD released this 05 Dec 12:33

Changes in 1.0.0

Our first major release 🎉
The API stabilized and we have no other changes between 0.7.0 and 1.0.0.
Docs will be available at https://neo4j.com/docs/python-graph-visualization/

v0.7.0

Choose a tag to compare

@FlorentinD FlorentinD released this 21 Nov 11:09

Changes in 0.7.0

Breaking changes

  • Removed table property from nodes and relationships returned from from_snowflake, the table is represented by the caption field.
  • Changed default value of override parameter in VisualizationGraph.color_nodes() from False to True. The method now overrides existing node colors by default. To preserve existing colors, explicitly pass override=False.

New features

  • Added set_node_captions() convenience method to VisualizationGraph for setting node captions from a field or property.

Improvements

  • Truncate large property values in the rendered output.

v0.6.0

Choose a tag to compare

@FlorentinD FlorentinD released this 30 Oct 11:32

Changes in 0.6.0

Breaking changes

  • Change API of integrations to only provide basic parameters. Any further configuration should happen on the Visualization Graph object:
    • Don't derive fields from properties. Use utility functions on the VisualizationGraph instead or set them manually on the node/relationship objects (VG.nodes/VG.relationships). This affects from_neo4j, from_gds, from_gql_create, from_pandas, from_snowflake.
    • from_gds rename additional_node_properties to node_properties
    • Drop parameters size_property, node_radius_min_max. Use VG.resize_nodes(property=...) instead. This affects from_gds, from_neo4j, from_pandas, from_gql_create, from_snowflake.

New features

  • Allow to include db node properties in addition to the properties in the GDS Graph. Specify db_node_properties in from_gds.

Bug fixes

  • fixed a bug in from_neo4j, where the node size would always be set to the size property.
  • fixed a bug in from_neo4j, where the node caption would always be set to the caption property.
  • Color nodes in from_snowflake only if there are less than 13 node tables used. This avoids reuse of colors for different tables.
  • fixed a bug in from_gds, where properties of type list could not be imported.

Improvements

  • Validate fields of a node and relationship not only at construction but also on assignment.
  • Allow resizing per node property such as VG.resize_nodes(property="score").
  • Color nodes by label in from_gds and from_gql_create.
  • Add table property to nodes and relationships created by from_snowflake. This is used as a default caption.