用于创建、编辑和与TRO交互的实用工具
项目描述
此软件包提供了一组用于处理透明研究对象(TROs)的实用工具。它旨在与TRO规范结合使用。
它使用Click库来定义命令和选项。以下是主要功能的摘要
全局选项:脚本定义了几个全局选项,这些选项可以与任何命令一起使用,例如--declaration、--profile、--gpg-fingerprint、--gpg-passphrase、--tro-creator、--tro-name和--tro-description。这些选项可用于指定TRO的各种参数。
命令:脚本定义了几个命令,每个命令都有其自己的选项和参数。命令包括
verify:验证TRO是否已正确签名并时间戳。
arrangement:管理TRO中的安排。它有如add(将目录添加为TRO的组成)和list(列出TRO中可用的安排)之类的子命令。
composition:管理TRO中的组成。它有一个子命令info,可以获取当前组成的信息。
性能:管理TRO中的性能。它有一个子命令add,可以将性能添加到TRO中。
签名:对TRO进行签名。
报告:生成TRO的报告。
TRO交互:脚本通过tro_utils模块中的TRO类与TRO进行交互。它使用此类创建新的TRO,将安排和性能添加到TRO中,验证TRO,并生成TRO的报告。
示例用法
假设
此软件包已安装
您的GPG密钥存在
trs.jsonld可用,并定义TRS功能(以下为示例)
示例工作流程
$ cd /tmp $ cat trs.jsonld { "rdfs:comment": "TRS that can monitor netowork accesses or provide Internet isolation", "trov:hasCapability": [ { "@id": "trs/capability/1", "@type": "trov:CanRecordInternetAccess" }, { "@id": "trs/capability/2", "@type": "trov:CanProvideInternetIsolation" } ], "trov:owner": "Kacper Kowalik", "trov:description": "My local system", "trov:contact": "root@dev.null", "trov:url": "http://127.0.0.1/", "trov:name": "shakuras" } $ export GPG_FINGERPRINT=... $ export GPG_PASSPHRASE=... $ git clone https://github.com/transparency-certified/sample-trace-workflow /tmp/sample # It's sufficient to pass the profile only once $ tro-utils --declaration sample_tro.jsonld --profile trs.jsonld arrangement add /tmp/sample \ -m "Before executing workflow" -i .git Loading profile from trs.jsonld $ tro-utils --declaration sample_tro.jsonld arrangement list Arrangement(id=arrangement/0): Before executing workflow $ pushd /tmp/sample && \ docker build -t xarthisius/sample . && \ ./run_locally.sh latest xarthisius && \ popd $ tro-utils --declaration sample_tro.jsonld arrangement add /tmp/sample \ -m "After executing workflow" -i .git $ tro-utils --declaration sample_tro.jsonld arrangement list Arrangement(id=arrangement/0): Before executing workflow Arrangement(id=arrangement/1): After executing workflow $ tro-utils --declaration sample_tro.jsonld performance add \ -m "My magic workflow" \ -s 2024-03-01T09:22:01 \ -e 2024-03-02T10:00:11 \ -c trov:InternetIsolation \ -c trov:InternetAccessRecording \ -a arrangement/0 \ -M arrangement/1 $ tro-utils --declaration sample_tro.jsonld sign $ tro-utils --declaration sample_tro.jsonld verify ... Verification: OK $ curl -LO https://raw.githubusercontent.com/craig-willis/trace-report/main/templates/tro.md.jinja2 $ tro-utils --declaration sample_tro.jsonld report --template tro.md.jinja2 -o report.md
致谢
此软件包是使用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。
源代码分发
tro_utils-0.1.0.tar.gz (20.0 kB 查看散列值)
构建分发
tro_utils-0.1.0-py2.py3-none-any.whl (12.1 kB 查看散列值)
关闭
tro_utils-0.1.0.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 1d5c013b4ffcde501a2310774315d51669774c3aad18b3886ed4fec183fb893e |
|
MD5 | 672ddd98983221527d8332364d285bca |
|
BLAKE2b-256 | c595f2d0357c045d27f305f64c299d47b0e9927ad4e200f613d23c5e7e811338 |
关闭
tro_utils-0.1.0-py2.py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 7e3a81102f7f1cdf21dfc2f2f92b75cc9fa19d911da9537ed139aa3b9c3cb661 |
|
MD5 | 09367cfd6dbd40b320b7c8f811a76ed2 |
|
BLAKE2b-256 | 82513c6881f6452450d7919ab121d22bb294f5f5102b4cdc25e2d938b5820854 |