跳转到主要内容

VerificaC19 SDK for Python

项目描述

VerificaC19 Python SDK

🐍 VerificaC19 SDK的Python实现。

Latest Version CI codecov Supported Python versions Downloads Code style: black

要求

  • Python版本 >= 3.7
  • MongoDB版本 >= 5.x(用于存储CRL)

确保您的系统中已安装zbar来源

  • 对于Mac OS X,可以通过brew install zbar进行安装
  • Debian系统通过apt install libzbar0
  • Fedora / Red Hat dnf install zbar

安装

pip install verificac19

用法

下载和缓存规则、CRL数据和DSC

您可以使用service下载和缓存规则、CRL数据和DSC。

from verificac19 import service

service.update_all()

update_all可能会引发VerificaC19Error

from verificac19.exceptions import VerificaC19Error

⚠️ 默认情况下,规则和DSC将缓存在本地文件夹中,要更改它,请设置环境变量VC19_CACHE_FOLDER

⚠️ CRL数据将存储在MongoDB数据库中。默认的连接字符串为mongodb://root:example@localhost:27017/VC19?authSource=admin,如果想要更改它,请设置环境变量VC19_MONGODB_URL

验证DCC

您可以使用verifier验证DCC。您可以使用verify_image验证图像,使用verify_raw验证原始数据。

from verificac19 import verifier

result = verifier.verify_image("my_dcc.png")
result = verifier.verify_raw("HC1:GH.....1GH")

verify_imageverify_raw返回一个包含person姓名、date_of_birthcodemessage以及result的字典

{
  'code': verifier.Codes.NOT_VALID, 
  'result': False, 
  'message': 'Certificate is not valid', 
  'person': 'Sčasný Svätozár', 
  'date_of_birth': '1984-09-27'
}

您可以比较返回的codeverifier.Codes

代码 描述 结果
VALID 证书有效 True
⚠️ TEST_NEEDED 如果验证模式是BOOSTER_DGP,则需要测试 False
无效 证书无效 False
尚未生效 证书尚未生效 False
已撤销 证书已撤销 False
非欧盟DCC 证书不是欧盟DCC False

例如

result = verifier.verify_image("my_dcc.png")
assert result['code'] == verifier.Codes.NOT_VALID

⚠️ verify_imageverify_raw 方法在没有初始化缓存的情况下可能会引发 VerificaC19Error。您至少需要调用一次 service.update_all()

验证模式

如果您想更改验证模式并验证证书是否为超级绿码,则需要将 verifier.Mode.SUPER_DGP 传递给 verify_imageverify_raw 方法。

from verificac19 import verifier

result = verifier.verify_image("my_dcc.png", verifier.Mode.SUPER_DGP)

verifier.Mode 提供了两个可能的值

代码 描述
NORMAL_DGP 常规验证(默认值)
SUPER_DGP 超级绿码验证
BOOSTER_DGP 加强验证模式

详细信息

  • SUPER_DGP 模式:VerificaC19 SDK 仅认为针对已接种或已从新冠康复的人的有效绿码有效,并将阻止所有其他人进入酒吧、餐厅、电影院、健身房、剧院、迪厅和体育场。

  • BOOSTER_DGP 模式:VerificaC19 SDK 认为加强剂接种后生成的绿码有效。此外,在首次疫苗接种周期或康复的同时出示证明 SARS-CoV-2 测试结果的数字文件时生成的绿码也视为有效。

开发

安装开发依赖项

pip install -r requirements-dev.txt

确保您的系统中已安装zbar来源

  • 对于Mac OS X,可以通过brew install zbar进行安装
  • Debian系统通过apt install libzbar0
  • Fedora / Red Hat dnf install zbar

CRL 数据将存储在 MongoDB 数据库中。此存储库提供了一个简单的 docker-compose.yml 文件(开发实例)和一个副本集。默认连接字符串为 mongodb://root:example@localhost:27017/VC19?authSource=admin,如果您想更改它,请设置 VC19_MONGODB_URL 环境变量。

运行测试

make test

运行示例

python -m examples.<example_name>

作者

版权所有 (c) 2022 - Lotrèk Digital Agency

贡献者

感谢所有参与改进此项目的人,日复一日。

许可协议

此库可在 MIT 许可协议下使用。

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

verificac19-1.2.0.tar.gz (15.9 kB 查看哈希值)

上传时间

构建分发

verificac19-1.2.0-py2.py3-none-any.whl (17.3 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持