This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A simple python implementation of the W3C PROV data model

Project Description
Kleio
=====

`|Build Status| <https://travis-ci.org/tetherless-world/kleio>`_
`|License| <https://github.com/tetherless-world/kleio/blob/master/LICENSE>`_
`|Latest Release| <http://badge.fury.io/py/kleio>`_
`|Downloads| <https://pypi.python.org/pypi/kleio/>`_

A python library for W3C Provenance Data Model supporting PROV-O.

Kleio is free software released under the MIT license.

Features
--------

- An implementation of the W3C PROV Data Model in Python
- Supports serialization and deserialization as PROV-O in RDF/XML,
Turtle, TriG, N3, NTriples, and JSON-LD formats
- Supports provenance-of-provenance (PROV bundles) via named graphs
- Built using `RDFlib <https://github.com/RDFLib/rdflib>`_

Getting Started
---------------

Kleio can be installed from PyPI using the pip installer:

::

$ pip install kleio

From kleio use the prov module to generate PROV records and output
PROV-O.

\`\`\`python from kleio import prov

prov.ns("test", "http://tw.rpi.edu/ns/test#")

entity = prov.Entity("test:entity") entity.set\_label("example entity")

activity = prov.Activity("test:activity") activity.set\_label("example
activity")

entity.set\_was\_generated\_by(activity)
print(prov.serialize(format="turtle")) \`\`\` output:

::

@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix test: <http://tw.rpi.edu/ns/test#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<test:activity> a prov:Activity ;
rdfs:label "example activity" ;
prov:generated <test:entity> ;
prov:influenced <test:entity> .

<test:entity> a prov:Entity ;
rdfs:label "example entity" ;
prov:wasGeneratedBy <test:activity> ;
prov:wasInfluencedBy <test:activity> .

Kleio can also be used to load and update existing PROV-O records.

::


from kleio import prov

# load the existing PROV-O graph
prov.graph.load("load-example.ttl", format="turtle")

# get a reference to the existing entity with id="test:entity"
entity = prov.Entity("test:entity")

# ... update entity ...

Support
-------

More information is available on the project webpage:

https://github.com/tetherless-world/kleio

Continuous integration status details available from Travis CI:

https://travis-ci.org/tetherless-world/kleio

The documentation can be built by doing:

::

$ python setup.py build_sphinx

And is also available from ReadTheDocs:

http://kleio.readthedocs.org/en/latest

.. |Build
Status| image:: https://travis-ci.org/tetherless-world/kleio.svg?branch=master
.. |License| image:: http://img.shields.io/badge/license-MIT-brightgreen.svg
.. |Latest Release| image:: https://badge.fury.io/py/kleio.svg
.. |Downloads| image:: https://pypip.in/download/kleio/badge.svg
Release History

Release History

This version
History Node

0.2.3

History Node

0.2.1

History Node

0.2.0

History Node

0.1.0

Download Files

Download Files

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
kleio-0.2.3-py3.3.egg (25.9 kB) Copy SHA256 Checksum SHA256 3.3 Egg Jul 28, 2016
kleio-0.2.3-py3.4.egg (25.4 kB) Copy SHA256 Checksum SHA256 3.4 Egg Jul 28, 2016
kleio-0.2.3-py3.5.egg (25.3 kB) Copy SHA256 Checksum SHA256 3.5 Egg Jul 28, 2016
kleio-0.2.3.tar.gz (12.4 kB) Copy SHA256 Checksum SHA256 Source Jul 28, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting