--- id: prov version: "3.1.0" license: MIT license_treatment: permissive maintenance: active --- # prov — A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML, PROV-O (RDF) and PROV-JSONLD License: permissive · Maintenance: active · Downloads: 747.0K/mo ## 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 above — 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 pip install prov uv add prov 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_current - Install friction: low - Maintenance: active - Downloads: 747.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags W3C provenance data model, PROV document serialization, provenance graph export, PROV-JSON PROV-XML import, provenance tracking Python, PROV-N format support, provenance library, provenance-tracking, w3c-standards, graph-serialization [View on SkillFed](https://skillfed.io/packages/prov) · [View on PyPI](https://pypi.org/project/prov/)