Installation¶
GraFlo is a Python package. This page installs it, with or without the extras for development, documentation and diagrams, and tells you where to get a database to load into.
What you need¶
- Python 3.11 or newer.
- A graph database to load into, unless you use the file backend, which writes the graph to a directory. See Get a database below.
Install the package¶
With pip:
With uv, into a project of yours:
From a clone of the repository, which also gives you the examples and the database containers:
The default install includes the clients for every supported database, RDF and SPARQL support, and the Kafka client.
Optional extras¶
The extras add tooling only; they do not switch ingestion features on or off.
| Extra | What it adds |
|---|---|
dev |
Tests and checks: pytest and its plugins, hypothesis, ty, pre-commit |
docs |
Building this site: ProperDocs and its plugins |
plot |
Drawing the diagrams of graflo plot-manifest and the --plot figures of graflo merge and graflo merge3, as SVG, PDF or PNG |
With pip, name the extras you want:
From a clone, name every extra you want in one command, because uv sync
removes the extras you leave out:
The plot extra needs no system packages: Graphviz runs as WebAssembly inside
Python, and PDF and PNG text uses fonts shipped with graflo, so it works the
same on a desktop and in a slim container image. Those fonts cover Latin, Greek
and Cyrillic; other scripts show in SVG, which leaves text to the viewer's fonts.
On Alpine, install libgcc (apk add libgcc) for the WebAssembly runtime.
Drawing a manifest explains the figures.
Check the installation¶
The version you see is the one you installed. In a clone, run it as
uv run graflo --version.
Get a database¶
GraFlo writes to ArangoDB, Neo4j, TigerGraph, FalkorDB, Memgraph, NebulaGraph
and PostgreSQL. A clone of the repository has a Docker Compose setup for each
of them, plus Apache Fuseki and Kafka as sources to read from and SeaweedFS as
object storage.
docker/README.md
explains how to start one or all of them; the examples read their connection
settings from those containers.
If you do not want to run a database yet, use the file backend: it writes the graph to a directory, and you can load it into a database later. The file backend example (14) shows how.
What to read next¶
- Quick start: two CSV files into a graph, step by step.
- Database connections: how to point GraFlo at a database of your own.