一个使用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第三方库


热门话题
java我能在这个程序中更好地使用内存吗?   为什么我的Java while循环迭代了一半   java IntelliJ IDEA不在构建时复制资源   socket仅在Java TCP服务器输出上检查客户端断开连接   java游戏物理摩擦   java片段onClick调用方法   symja数学分析器中无法识别java Abs[x]   java在使用泛型时创建二进制搜索树类的实例?   java在外键约束表上的添加和删除   语法java表达式的含义,如果有条件   java创建内联对象并作为参数传递   是否有相当于Redis排序集(zset)的Java数据结构   java找不到适合的方法(无参数)   音频文件操作给定字节帧的音量Java   Eclipse4不以JavaWebStart启动   java如何使用org在JSON对象中获取嵌套的键元素。json?   java与Jackson的反序列化:“org.codehaus.Jackson.map.JsonMappingException:无法反序列化[projectname]的实例。”   字符串的Java正则表达式   spring集成上的java检测缺火指令