skillfed

prov

A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML, PROV-O (RDF) and PROV-JSONLD

prov v3.1.0 747.0K downloads/30d#5,168 on PyPI137
Permissive license MIT Active released

What it is and what it does

prov is a Python implementation of the W3C PROV Data Model standard, a formal specification for representing provenance information—the history and origin of data, processes, and entities. It provides in-memory classes to construct provenance assertions and serialize them into multiple standardized formats: PROV-O, PROV-XML, PROV-JSON, PROV-JSONLD, and PROV-N. The library also supports converting provenance documents to and from NetworkX MultiDiGraph structures for graph-based analysis.

The package is actively maintained, recently modernized with type hints and improved test coverage, and supports current Python versions (3.10–3.14). It has no runtime dependencies, making installation straightforward. The library is used by ProvStore, a public repository for provenance documents, and is suitable for applications that need to track, document, or audit data lineage, scientific workflows, or system operations in a standards-compliant way.

Use it for:

  • Document data lineage in data pipelines by recording which processes generated which datasets and their dependencies.
  • Audit scientific workflows by capturing the provenance of computational results and intermediate data.
  • Export provenance information to standardized formats for integration with external tools and systems.
  • Convert provenance data to NetworkX graphs for network analysis and visualization of entity-activity relationships.
  • Build compliance and traceability systems that record the origin and transformation history of sensitive information.

Worth the install?

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

Implements the W3C PROV Data Model in Python, enabling creation, import, and export of provenance documents in multiple formats including PROV-O, PROV-XML, PROV-JSON, and PROV-JSONLD.

Yes. prov is a stable, actively maintained implementation of a W3C standard with no dependencies, permissive licensing, and broad format support. Install it if you need to work with provenance data in a standards-compliant way or integrate with systems that consume PROV documents. The recent modernization and support for current Python versions make it a reliable choice.

Install

prov on PyPI

pip

pip install prov

uv

uv add prov

poetry

poetry add prov

Installing prov

Before you install

Low friction installation with no runtime dependencies. Active maintenance with a release 7 days ago and commits as recent as 2026-08-14. Supports modern Python versions (3.10–3.14) and both CPython and PyPy.

License in practice

MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.

Quickstart

pip install prov

from prov.model import ProvDocument

doc = ProvDocument()
doc.entity('ex:entity1')
doc.wasGeneratedBy('ex:entity1', 'ex:activity1')
print(doc.serialize(format='json'))

Requires Python 3.10 or later.

Verify before relying

  • Whether graphical export (PDF, PNG, SVG) requires additional system dependencies beyond the Python package.
  • Performance characteristics when working with large provenance graphs.
  • Whether conversion to NetworkX MultiDiGraph is bidirectional or one-way.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 7 days since the last release
Last repo commit
First released
Downloads 747,039/month — #5,168 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: prov-3.1.0-py3-none-any.whl

Keywords: provenance, graph, model, PROV, PROV-DM, PROV-JSON, W3C, PROV-XML, PROV-N, PROV-O, RDF, PROV-JSONLD, JSON-LD

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Scientific/Engineering :: Information AnalysisTopic :: SecurityTopic :: System :: Logging

Tags

W3C provenance data modelPROV document serializationprovenance graph exportPROV-JSON PROV-XML importprovenance tracking PythonPROV-N format supportprovenance library
provenance-trackingw3c-standardsgraph-serialization

More Security packages