StellarGraph is an open-source Python library for machine learning on graphs and networks, covering graph neural networks for homogeneous and heterogeneous graph data. Released under the Apache-2.0 license, it has around 3,060 stars on GitHub and was last updated in 2024. It builds on TensorFlow/Keras and NetworkX, aiming to make state-of-the-art graph ML algorithms accessible through a consistent, well-documented API.
The library implements a broad catalogue of algorithms: Graph Convolutional Networks (GCN), GraphSAGE for inductive learning on large graphs, HinSAGE and heterogeneous graph attention for typed networks, and unsupervised representation methods such as Deep Graph Infomax and node2vec-style random walks. Tasks supported include node classification, link prediction and graph classification, with data loading utilities for common benchmark datasets and saliency-map interpretability tools to explain predictions. Extensive demo notebooks walk through applications from citation networks to fraud detection.
StellarGraph was originally developed in Australia with involvement from CSIRO’s Data61 research ecosystem, and its design shows that heritage: a strong emphasis on correct, benchmarked implementations and clear separation between graph data structures, algorithm layers and task-level APIs. The demo collection is a highlight, covering applications such as node classification on citation networks, unsupervised representation learning, and graph-based recommendation, each as a runnable notebook. For teams evaluating graph neural networks, the library remains a readable survey of the field’s foundational methods in one place.
StellarGraph is free and open source under the Apache-2.0 license. There is no commercial version or hosted service.
Data scientists and researchers working with network-structured data (social, biological, financial or knowledge graphs) who need proven graph ML algorithms in Python.