Django Provenance documentation

Welcome to the documentation of Django Provenance (django-prov).

Django-prov is no longer being actively developed. The repository archives the status of version 2.0.2, which was actively developed in GitLab. For more information, please contact carina.haupt@dlr.de.

Django-prov is a Django app to capture Provenance related data in your Django project. It complies to the W3C PROV Data Model.

Installation

django-prov is tested on Python 3.12 and depends on the libraries Django (BSD-3-Clause License) and prov (MIT License)

You can install it with the following command:

git clone https://github.com/DLR-SC/django-prov.git
cd django-prov/
pip install -e .

Usage

Django-prov is thought to be wrapped around your own Django project:

https://raw.githubusercontent.com/DLR-SC/django-prov/main/docs/workflow.svg

You need to follow three steps to start recording provenance in your app:

  1. Provide a configuration, e.g. via your settings.py.

    • Define namespaces, output path and formats.

    • Define the models that you want to track, either as entities or agents. The ProvenanceGenerator will then use Djangos built-in signals to record changes of your models objects in the database.

  2. Define activities that you want to track.

    • Functions, classes or Djangos class-based views are supported.

  3. Instantiate a ProvenanceGenerator object in your apps.py to start the tracking.

See also

Contents