Installation

prov needs Python 3.10 or later. Support for Python 3.10 ends in the first release after its end of life on 2026-10-31.

python -m pip install prov

This installs the core data model and the PROV-JSON, PROV-JSONLD and PROV-N serializers. All three read and write out of the box, with no extra needed. Every other capability sits behind an optional extra. Using one without its extra raises an error that names the extra to install.

Extra

Enables

Installs

rdf

PROV-O (RDF) serializer and deserializer

rdflib

xml

PROV-XML serializer and deserializer

lxml

dot

Graphviz export through prov.dot

pydot, networkx

graph

NetworkX conversion through prov.graph

networkx

plot

The interactive display in ProvBundle.plot()

matplotlib, pydot, networkx

The dot and plot extras also need a local Graphviz install, because rendering runs the dot executable.

Extras combine:

python -m pip install "prov[rdf,xml,dot,graph]"

docs/dependencies.md in the repository explains each dependency and its version pin.