A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)
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/.
- 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-O (RDF), PROV-XML and PROV-JSON.
- Exporting PROV documents into various graphical formats (e.g. PDF, PNG, SVG).
- Convert a PROV document to a Networkx MultiDiGraph and back.
- Replaced pydotplus with pydot (see #111)
- Fixed datetime and bundle error in RDF serialisation
- Tested against Python 3.6
- Improved documentation
- Changed the type of qualified names to prov:QUALIFIED_NAME (fixed #68)
- Removed XSDQName class and stopped supporting parsing xsd:QName as qualified names
- Replaced pydot dependency with pydotplus
- Removed support for Python 2.6
- Various minor bug fixes and improvements
- Added: prov-compare script to check equivalence of two PROV files (currently supporting JSON and XML)
- Fixed: deserialising Python 3’s bytes objects (issue #67)
- Fixed unicode issue with deserialising text contents
- Set the correct version requirement for six
- Fixed format selection in prov-convert script
- Python 3.3 and 3.4 supported
- Updated prov-convert script to support XML output
- Added missing test JSON and XML files in distributions
- Added: prov.graph.prov_to_graph to convert a ~prov.model.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
- Added: Support for PROV-XML serialization and deserialization
- A ~prov.model.ProvRecord instance can now be used as the value of an attributes
- Added: convenient assertions methods for ~prov.model.ProvEntity, ~prov.model.ProvActivity, and ~prov.model.ProvAgent
- Added: prov.model.ProvDocument.update and prov.model.ProvBundle.update
- Fixed: Handling default namespaces of bundles when flattened
- Added: Default namespace inheritance for bundles
- Fixed: prov.model.NamespaceManager.valid_qualified_name did not support ~prov.model.XSDQName
- Added: Convenience prov.read method with a lazy format detection
- Added: Convenience ~prov.model.ProvBundle.plot method on the ~prov.model.ProvBundle class (requiring matplotlib).
- Changed: The previous !add_record method renamed to ~prov.model.ProvBundle.new_record
- Added: ~prov.model.ProvBundle.add_record function which takes one argument, a ~prov.model.ProvRecord, has been added
- Fixed: Document flattening (see ~prov.model.ProvDocument.flattened)
- Added: ~prov.model.ProvRecord.__hash__ function added to ~prov.model.ProvRecord (at risk: to be removed as ~prov.model.ProvRecord is expected to be mutable)
- Added: ~prov.model.ProvRecord.extra_attributes added to mirror existing ~prov.model.ProvRecord.formal_attributes
- 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.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|File Name & Checksum SHA256 Checksum Help||Version||File Type||Upload Date|
|prov-1.5.1-py2.py3-none-any.whl (426.5 kB) Copy SHA256 Checksum SHA256||py2.py3||Wheel||Jul 18, 2017|
|prov-1.5.1.tar.gz (123.7 kB) Copy SHA256 Checksum SHA256||–||Source||Jul 18, 2017|