Skip to main content

A simple graph visualization tool

Project description

Graph Visualization for Python by Neo4j

Latest version PyPI downloads month Python versions Documentation Discord Community forum License

neo4j-viz is a Python package for creating interactive graph visualizations.

The output is of type IPython.display.HTML and can be viewed directly in a Jupyter Notebook or Streamlit application. Alternatively, you can export the output to a file and view it in a web browser.

The package wraps the Neo4j Visualization JavaScript library (NVL).

[!WARNING] This package is still in development and the API is subject to change.

Example Graph

Some notable features

  • Easy to import graphs represented as:
    • projections in the Neo4j Graph Data Science (GDS) library
    • graphs from Neo4j query results
    • pandas DataFrames
  • Node features:
    • Sizing
    • Colors
    • Captions
    • Pinning
    • On hover tooltip
  • Relationship features:
    • Colors
    • Captions
    • On hover tooltip
  • Graph features:
    • Zooming
    • Panning
    • Moving nodes
    • Using different layouts
  • Additional convenience functionality for:
    • Resizing nodes, optionally including scale normalization
    • Coloring nodes based on a property
    • Toggle whether nodes should be pinned or not

Please note that this list is by no means exhaustive.

Getting started

Installation

Simply install with pip:

pip install neo4j-viz

Basic usage

We will use a small toy graph representing the purchase history of a few people and products.

We start by instantiating the Nodes and Relationships we want in our graph. The only mandatory fields for a node are the "id", and "source" and "target" for a relationship. But the other fields can optionally be used to customize the appearance of the nodes and relationships in the visualization.

Lastly we create a VisualizationGraph object with the nodes and relationships we created, and call its render method to display the graph.

from neo4j_viz import Node, Relationship, VisualizationGraph

nodes = [
    Node(id=0, size=10, caption="Person"),
    Node(id=1, size=10, caption="Product"),
    Node(id=2, size=20, caption="Product"),
    Node(id=3, size=10, caption="Person"),
    Node(id=4, size=10, caption="Product"),
]
relationships = [
    Relationship(
        source=0,
        target=1,
        caption="BUYS",
    ),
    Relationship(
        source=0,
        target=2,
        caption="BUYS",
    ),
    Relationship(
        source=3,
        target=2,
        caption="BUYS",
    ),
]

VG = VisualizationGraph(nodes=nodes, relationships=relationships)

VG.render()

This will return a IPython.display.HTML object that can be rendered in a Jupyter Notebook or streamlit application.

Please refer to the documentation for more details on the API and usage.

Examples

For more extensive examples, including how to import graphs from Neo4j GDS projections and Pandas DataFrames, checkout the tutorials chapter in the documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neo4j_viz-0.4.0.tar.gz (512.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neo4j_viz-0.4.0-py3-none-any.whl (506.5 kB view details)

Uploaded Python 3

File details

Details for the file neo4j_viz-0.4.0.tar.gz.

File metadata

  • Download URL: neo4j_viz-0.4.0.tar.gz
  • Upload date:
  • Size: 512.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for neo4j_viz-0.4.0.tar.gz
Algorithm Hash digest
SHA256 5c60252d0ebd2755cf199a0d010bab759f50f5b79f50a4780fa1253b5ead922e
MD5 c59be5c17f42358cf78f9e25fc88e8e4
BLAKE2b-256 8bf953fe6d124280a4fc356a5a1c187241c7f58c671250450070bca16dd730b0

See more details on using hashes here.

File details

Details for the file neo4j_viz-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: neo4j_viz-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 506.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for neo4j_viz-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb8ef2fd212a7028383c87bf11312818726d5f3db8a2e8393a9d7ebb98bbcf46
MD5 04deb2d8425df3b49c5ed32606792a74
BLAKE2b-256 51508adf2463c67a8693135ca1e26d232e2387f7e91ca0771a819a584ef83f58

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page