一个使用w3c prov-o词汇表的轻的、去中心化的来源跟踪框架

provit的Python项目详细描述


Python 3.6GitHub licenseGitHub issuesDocs passing

provit是一个轻量级的、去中心化的数据来源和文档工具。它允许 跟踪工作流和数据文件修改的用户。

provit工作完全分散,所有信息都存储在.prov中 文件(如json-ld rdf图)及其在文件系统中对应的数据文件。 不需要额外的数据库或服务器安装程序。

实现了W3CPROV-O vocabulary的一个小子集。

provit旨在为从未使用过provence的用户提供一个易于使用的界面 以前跟踪过。如果你觉得受到限制,你应该看看 更广泛的实现,例如:prov

完整的文档可在provit.readthedocs.io下获得。

要求

该软件在linux上用python 3.5和3.6进行了测试。

安装

建议在结束时通过pip安装 用户。我们强烈鼓励最终用户使用 virtualenv

PIP

克隆存储库并创建虚拟环境(可选)和 用pip安装到virtualenv中。

$ mkvirtualenv provit
$ pip install provit

git/开发

克隆存储库并创建一个virtualenv。

$ git clone https://github.com/diggr/provit
$ mkvirtualenv provit

editable模式下安装pip

$ pip install -e ./provit

用法

provit提供了一个命令行客户机,它可以 用于用出处丰富任何基于文件的数据 信息。

provit还包括一个(实验性的)基于web的界面 (提供浏览器)。

命令行客户端

用法:

打开provit浏览器:

$ provit browser

将provenace事件添加到文件:

$ provit add FILEPATH [OPTIONS]

选项:

-a AGENT, --agent AGENT
Provenance information: agent (multiple=True)
--activity ACTIVITY
Provenance information: activity
-d DESCRIPTION, --desc DESCRIPTION
Provenance information: Description of the data manipulation process
-o ORIGIN, --origin ORIGIN
Provenance information: Data origin
-s SOURCES, --sources SOURCES
Provenance information: Source files (multiple=True)
--helpShow this message and exit.

种源分类

fromprovitimportProvenance# load prov data for a file, or create new prov for fileprov=Provenance(<filepath>)# add provenance metadataprov.add(agents=["agent"],activity="activity",description="...")prov.add_primary_source("primary_source")prov.add_sources(["filepath1","filepath2"])# return provenance as json treeprov_dict=prov.tree()# save provenance metadata into "<filename>.prov" fileprov.save()

路线图

下一步发展的总体路线图

  • 测试
  • 教程
  • Windows支持
  • provit浏览器中的代理管理

概述

Authors:P. Mühleder muehleder@ub.uni-leipzig.de, F. Rämisch raemisch@ub.uni-leipzig.de
License:MIT
Copyright:2018, Peter Mühleder and Universitätsbibliothek Leipzig

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
html如何在JavaScript中获取当前Windows用户的名称   用于屏蔽电子邮件的java正则表达式   java Jsoup Android解析   为了避免在运行时缺少Java泛型,将超类型绑定到子类实例   java JTextArea。setText(空);不会释放内存   安卓源Java OutOfMemoryError在构建AOSP 10时出错   java打印到达数组末尾所需的最小跳数序列   使用mvn命令的java Selenium TestNG并行执行   javasocket编程:在关闭服务器之前通知所有客户端   java如何在加载新的安卓片段时显示progressbar?   java从actor系统中删除AKKA actor,并创建另一个具有相同路径名的actor   java我可以用浓缩咖啡做性能测试,还是应该用其他东西?   JavaTreeView(TreeItem)是否可以获取层次结构索引?   带远程服务的java Android应用程序