skillfed

graphlib

Graph API

graphlib v0.9.5 97.5K downloads/30d#13,151 on PyPI9
Permissive license BSD Abandoned released

What it is and what it does

Graphlib is a Python library for working with graph data structures using a simple object-oriented API. It lets you create nodes, define relationships between them, and serialize the resulting graph into JSON format compatible with the JSON Graph Spec. It also includes a Neo4j loader that can push serialized graphs into a Neo4j database, either programmatically or via command-line interface.

The package has been abandoned since 2014-06-22 and targets only Python 2.7 and early Python 3 versions. It has no runtime dependencies, making installation straightforward in principle, but the source-only distribution and complete lack of maintenance mean it is not suitable for production use or integration with modern Python environments without significant testing and potential fixes.

Use it for:

  • Prototyping graph data models in Python before loading them into Neo4j for persistence.
  • Converting graph structures to JSON for storage, transmission, or documentation purposes.
  • Building small-scale graph applications that do not require ongoing maintenance or compatibility with current Python versions.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a Python API for creating, serializing, and loading graph data structures conforming to the JSON Graph Spec, with built-in support for Neo4j database integration.

No. The package is abandoned, targets obsolete Python versions (2.7, 3.2–3.3), and has not been updated since 2014-06-12. While it has no known vulnerabilities and carries a permissive license, the lack of maintenance and untested compatibility with modern Python make it unsuitable for new projects.

Install

graphlib on PyPI

pip

pip install graphlib

uv

uv add graphlib

poetry

poetry add graphlib

Installing graphlib

Before you install

Installation friction is high due to source distribution format. More critically, the package is abandoned—last commit was 2014-06-22, over a decade ago. It targets Python 2.7 and Python 3.2–3.3, versions long out of support. No active maintenance or security updates.

License in practice

Licensed under BSD (permissive), which allows commercial and private use with minimal restrictions. No notable licensing barriers to adoption.

Quickstart

pip install graphlib
from graphlib import Node, serialize

city = Node({'location': 'Philadelphia'})
jane = Node({'name': 'Jane'})
city.relate([jane], 'LIVES_IN')
data = serialize(city)

Package targets Python 2.7 and 3.2–3.3; compatibility with modern Python versions is untested and likely broken.

Verify before relying

  • Whether the package actually works on modern Python versions despite classifier claims of only 2.7 and 3.2–3.3 support.
  • Current status of Neo4j integration—whether the loader works with modern Neo4j server versions.
  • Whether JSON Graph Spec conformance is still relevant or if the spec itself has evolved since 2014.

Package facts

License BSD (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance abandoned — 4,446 days since the last release
Last repo commit (repository archived)
First released
Downloads 97,467/month — #13,151 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: graphlib-0.9.5.tar.gz

Keywords: graph, node, relationship, edge, vertices, neo4j

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Topic :: Software Development :: Libraries :: Python Modules

Tags

graph data structure libraryjson graph serializationneo4j python loadernode relationship apigraph database integration
abandonedlegacy-python

More Python Modules packages