Skip to main content

A library for W3C Provenance Data Model supporting PROV-JSON and PROV-XML

Project description

Latest Release Build Status Coverage Status Wheel Status Downloads

A library for W3C Provenance Data Model supporting PROV-JSON and PROV-XML import/export

Features

  • An implementation of the W3C PROV Data Model in Python.
  • In-memory classes for PROV assertions, which can then be output as PROV-N
  • Serialization and deserializtion support: PROV-JSON and PROV-XML.
  • Exporting PROV documents into various graphical formats (e.g. PDF, PNG, SVG).

Uses

This package is used extensively by ProvStore, a respository for provenance documents.

History

1.2.0 (2014-12-19)

  • Added: prov.graph.prov_to_graph to convert a ProvDocument to a MultiDiGraph
  • Added: PROV-N serializer
  • Fixed: None values for empty formal attributes in PROV-N output (issue #60)
  • Fixed: PROV-N representation for xsd:dateTime (issue #58)
  • Fixed: Unintended merging of Identifier and QualifiedName values
  • Fixed: Cloning the records when creating a new document from them
  • Fixed: incorrect SoftwareAgent records in XML serialization

1.1.0 (2014-08-21)

  • Added: Support for PROV-XML serialization and deserialization
  • A ProvRecord instance can now be used as the value of an attributes
  • Added: convenient assertions methods for ProvEntity, ProvActivity, and ProvAgent
  • Added: ProvDocument.update() and ProvBundle.update()
  • Fixed: Handling default namespaces of bundles when flattened

1.0.1 (2014-08-18)

  • Added: Default namespace inheritance for bundles
  • Fixed: NamespaceManager.valid_qualified_name did not support prov.model.XSDQName
  • Added: Convenience prov.read method with a lazy format detection
  • Added: Convenience plot method on the ProvBundle class (requiring matplotlib).
  • Changed: The previous add_record() method renamed to new_record()
  • Added: The new add_record() function which takes one argument, a ProvRecord, has been added
  • Fixed: Document flattening
  • Added: hash function added to ProvRecord (at risk: to be removed as ProvRecord is expected to be mutable)
  • Added: extra_attributes added to mirror existing formal_attributes

1.0.0 (2014-07-15)

  • The underlying data model has been rewritten and is incompatible with pre-1.0 versions.
  • References to PROV elements (i.e. entities, activities, agents) in relation records are now QualifiedName instances.
  • A document or bundle can have multiple records with the same identifier.
  • PROV-JSON serializer and deserializer are now separated from the data model.
  • Many tests added, including round-trip PROV-JSON encoding/decoding.
  • For changes pre-1.0, see CHANGES.txt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for prov, version 1.2.0
Filename, size File type Python version Upload date Hashes
Filename, size prov-1.2.0-py27-none-any.whl (56.8 kB) File type Wheel Python version 2.7 Upload date Hashes View hashes
Filename, size prov-1.2.0.tar.gz (59.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page