通用数据隐私和同意存储库生成器。
datacustodian的Python项目详细描述
DataCustodian数据隐私包生成器
DataCustodian为通用数据生成其他存储库 隐私和同意制度。生成遵循YML规范 定义端点、处理程序、身份验证、验证的文件, 对于数据隐私解决方案的每个组件。
DataCustodian被构建为与分散的和分布式的 为数据的存储和同意提供分散信任的系统。
查看API Documentation 还有一张real-world implementation。
安装
该包可从pypi存储库获得:
pip install datacustodian
生成包
查看docs/configs中的文档,以获得一个示例设置 我们用于单元测试。自定义到您自己的应用程序,然后 然后运行:
datacustodian_app.py path/to/your/app_spec.yml --generate
这将自动生成包,并启动rest api服务器。
运行单元测试
运行单元测试可能会带来巨大的痛苦,因为gitlab ci 跑步者在码头上跑步。对于这样一个使用 docker-compose,我们必须根据 他们的指示。但是,文档是稀疏的 很多死胡同…下面是获得^{tt7}的步骤$ 工作文件:
- 使用安装本地gitlab-runner。 brew install gitlab-runner。
- gitlab-runner exec docker --docker-privileged test。请注意 有一个--docker-privileged参数。如果没有这个, docker-in-docker不起作用。
- 确保所有multiaddr引用docker服务 (它使用dind承载所有其他容器)。
- tox应该可以工作,但是出于某种原因:使用 tox产生拒绝连接的错误,而直接运行 与pytest不匹配。关于毒物环境螺钉 一切顺利。
关于coverage
的问题由于未知的原因,当单元测试在ci服务器中运行时 使用:
- 只有pytest,它们通过时没有问题。
- coverage run使用pytest,我们会遇到连接问题 重置错误和连接拒绝错误。
在尝试解决这个问题时,我们只需执行以下操作:
- 在推送到远程服务器之前,在本地运行coverage 在MacOS上没有问题)。
- 生成coverage report -m > codecov.out。
- 提交codecov.out,然后推送。
ci服务器只运行pytest,但它也运行cat codecov.outso 输出包含规则代码覆盖矩阵。那样的话, gitlab仍然有关于代码覆盖率的正确统计信息。