Metadata-Version: 2.4
Name: prov
Version: 2.5.2
Summary: A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)
Author-email: Trung Dong Huynh <trungdong@donggiang.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/trungdong/prov
Project-URL: Documentation, https://prov.readthedocs.io
Project-URL: Repository, https://github.com/trungdong/prov
Project-URL: Issues, https://github.com/trungdong/prov/issues
Project-URL: Changelog, https://prov.readthedocs.io/en/latest/history.html
Keywords: provenance,graph,model,PROV,PROV-DM,PROV-JSON,W3C,PROV-XML,PROV-N,PROV-O,RDF
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Security
Classifier: Topic :: System :: Logging
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: networkx>=2.0
Requires-Dist: pydot>=1.2.0
Requires-Dist: python-dateutil>=2.2
Provides-Extra: rdf
Requires-Dist: rdflib<8,>=6.0.0; extra == "rdf"
Provides-Extra: xml
Requires-Dist: lxml>=3.3.5; extra == "xml"
Provides-Extra: plot
Requires-Dist: matplotlib>=3.6; extra == "plot"
Dynamic: license-file

# Introduction

[![Latest Release](https://badge.fury.io/py/prov.svg)](http://badge.fury.io/py/prov)
[![CI Status](https://github.com/trungdong/prov/workflows/CI/badge.svg)](https://github.com/trungdong/prov/actions?workflow=CI)
[![Coverage Status](https://img.shields.io/coveralls/trungdong/prov.svg)](https://coveralls.io/r/trungdong/prov?branch=master)
[![Wheel Status](https://img.shields.io/pypi/wheel/prov.svg)](https://pypi.python.org/pypi/prov/)
[![Supported Python version](https://img.shields.io/pypi/pyversions/prov.svg)](https://pypi.python.org/pypi/prov/)
[![License](https://img.shields.io/pypi/l/prov.svg)](https://pypi.python.org/pypi/prov/)

A library for W3C Provenance Data Model supporting PROV-O (RDF), PROV-XML, PROV-JSON import/export

- Free software: MIT license
- Documentation: <http://prov.readthedocs.io/>.
- Python 3 only.

## Features

- An implementation of the [W3C PROV Data Model](http://www.w3.org/TR/prov-dm/) in Python.
- In-memory classes for PROV assertions, which can then be output as [PROV-N](http://www.w3.org/TR/prov-n/)
- Serialization and deserialization support: [PROV-O](http://www.w3.org/TR/prov-o/) (RDF), [PROV-XML](http://www.w3.org/TR/prov-xml/) and [PROV-JSON](http://www.w3.org/Submission/prov-json/).
- Exporting PROV documents into various graphical formats (e.g. PDF, PNG, SVG).
- Convert a PROV document to a [Networkx MultiDiGraph](https://networkx.github.io/documentation/stable/reference/classes/multidigraph.html) and back.

### Uses

See [a short tutorial](http://trungdong.github.io/prov-python-short-tutorial.html) for using this package.

This package is used extensively by [ProvStore](https://openprovenance.org/store/),
a free online repository for provenance documents.

## Roadmap

The library is undergoing a staged modernisation (tooling, type hints, tests,
documentation, standards conformance), a batch of bug fixes, and new format support.
See [ROADMAP.md](https://github.com/trungdong/prov/blob/2.x/ROADMAP.md) for the plan and the 2.x API-stability promise.
Feedback is welcome on the [issue tracker](https://github.com/trungdong/prov/issues).

## Supported versions

The latest 3.x release receives all fixes. This 2.x line receives security
fixes, plus bug fixes back-ported from 3.x up to and including 2.6.0, after
which it reverts to security fixes only; 1.x and earlier no longer receive
fixes. See [SECURITY.md](https://github.com/trungdong/prov/blob/2.x/SECURITY.md)
for the full support table and how to report a vulnerability.
