用于快速开发支持epcis的应用程序的epcis python模块。
EPCPyYes的Python项目详细描述
epcpyyes
8888888888 8888888b. .d8888b. 8888888b. Y88b d88P 888 888 Y88b d88P Y88b 888 Y88b Y88b d88P 888 888 888 888 888 888 888 Y88o88P 8888888 888 d88P 888 888 d88P 888 888 Y888P .d88b. .d8888b 888 8888888P" 888 8888888P" 888 888 888 d8P Y8b 88K 888 888 888 888 888 888 888 888 88888888 "Y8888b. 888 888 Y88b d88P 888 Y88b 888 888 Y8b. X88 8888888888 888 "Y8888P" 888 "Y88888 888 "Y8888 88888P' 888 Y8b d88P "Y88P"
发音为“epc pie yes”:gs1 epcis标准的开源组件
是Q4RTET开源EPCIS平台的一个基本组成部分。
有关此组件和其他QU4RTET组件的更多信息, 访问http://serial-lab.com
主要 这个库的目的是允许开发人员快速构建 快速高效地分析、生成和存储EPCIS数据 和直接向前的PythonAPI。
python到epcis xml或json
使用python类可以减轻了解epcis协议的痛苦。 epcpyyes包中的每个类都可以在python中直接操作,并且 然后快速呈现为epcis 1.2兼容的xml或json,用于任何数字 目的。例如:
# for example, create an ObjectEvent oe = ObjectEvent(now, tzoffset, record_time=now, action=Action.add.value, epc_list=epcs, biz_step=BusinessSteps.commissioning.value, disposition=Disposition.encoded.value) # Create EPCIS 1.2 compliant XML print(oe.render()) # Render as JSON print(oe.render_json()) # Render as pretty printed JSON print(oe.render_pretty_json()
完全测试
查看我们的代码覆盖率和持续集成构建以了解覆盖率 构建工件和构建/测试结果。你可以下载代码覆盖率 在 Pipelines Page。 点击构建右边的下载按钮 感兴趣的。
Jupyter笔记本:
文档中包含运行示例代码的jupyter笔记本 在这里可以找到:
https://gitlab.com/serial-lab/EPCPyYes/blob/master/docs/events.ipynb
如果没有笔记本,可以查看jupyter示例文档 在这里: https://gitlab.com/serial-lab/EPCPyYes/blob/master/docs/events.md
用于创建和转换epcis文档和事件的jinja2模板
templates包包含用于生成epcis文档的jinja2模板 从核心包中定义的离散epcis类或从集合中 它们允许创建 多种类型的事件。您可以更改任何 框架中的epcis类,在 初始化类-允许将epcis对象呈现为 任何可以想象的本地或自定义格式。修改默认jinja2 环境可以允许整个包使用不同的 全部默认模板。
核心类
核心库由表示关键epcis事件的python类组成:
练习
对象事件
聚合事件
事务处理事件
转换事件
Quantity events, as they are being deprecated, are not supported right now If you’re interested in helping out with this please contact us.
核心库中的每个类都在整个包中使用,但是 对于开发人员在 此包的范围。
助手
实用程序,可帮助您:
- 通过一系列序列号快速生成sgtin或sscc urn值列表。
- 快速将python epcis类序列化为有效的epcis xml并返回。
- …等等。
CBV 1.2类型支持和实用程序
有助于生成CBV兼容数据的实用程序 在开发CBV兼容的EPCIS应用程序时为您提供代码完成。我们带走了 因为一天只有这么多时间,所以把所有的渔业用品都拿出来。如果 任何有兴趣添加和/或支持它的人请与我们联系。
例如:
from EPCPyYes.core.v1_2.CBV.dispositions import Disposition print(Disposition.commissioning.value) urn:epcglobal:cbv:bizstep:commissioning