VerificaC19 Python SDK
Requirements
- Python version >= 3.7
Make sure zbar
is installed in your system
- For Mac OS X, it can be installed via
brew install zbar
- Debian systems via
apt install libzbar0
. Source - Fedora / Red Hat
dnf install zbar
Install
pip install verificac19
Usage
Download and cache rules and DSCs
You can download and cache rules and DSCs using service
.
from verificac19 import service
service.update_all()
update_all
may rise VerificaC19Error
from verificac19.exceptions import VerificaC19Error
VC19_CACHE_FOLDER
env variable.
Verify a DCC
You can verify a DCC using verifier
. You can verify a DCC using verify_image
for images and verify_raw
for raw data.
from verificac19 import verifier
result = verifier.verify_image("my_dcc.png")
result = verifier.verify_raw("HC1:GH.....1GH")
verify_image
and verify_raw
return a dictionary containing person
name, date_of_birth
, code
and a message
alongside the 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'
}
you can compare the resulting code
with verifier.Codes
values
Code | Description | |
---|---|---|
|
VALID | Certificate is valid |
|
NOT_VALID | Certificate is not valid |
|
NOT_VALID_YET | Certificate is not valid yet |
|
NOT_EU_DCC | Certificate is not an EU DCC |
for example
result = verifier.verify_image("my_dcc.png")
assert result['code'] == verifier.Codes.NOT_VALID
verify_image
and verify_raw
may rise VerificaC19Error
in case you cache is not initialized. You need to call service.update_all()
at least once!
Verification mode
If you want to change verification mode and verify whether a certificate is a Super Green Pass or not, you need to pass verifier.Mode.SUPER_DGP
to verify_image
and verify_raw
methods.
from verificac19 import verifier
result = verifier.verify_image("my_dcc.png", verifier.Mode.SUPER_DGP)
verifier.Mode
exposes 2 possible values
Code | Description |
---|---|
NORMAL_DGP | Normal verification (default value ) |
SUPER_DGP | Super Green Pass verification |
Super Green Pass, which will come into force from 6 December to 15 January 2021, will be a certificate valid only for people who have been vaccinated against or who have recovered from Covid19, and will prevent all the others from entering bars, restaurants, cinemas, gyms, theatres, discos and stadiums.
Development
Install dev dependencies
pip install -r requirements-dev.txt
Make sure zbar
is installed in your system
- For Mac OS X, it can be installed via
brew install zbar
- Debian systems via
apt install libzbar0
. Source - Fedora / Red Hat
dnf install zbar
Run tests
make test
Run examples
python -m examples.<example_name>
Authors
Copyright (c) 2021 - Lotrèk Digital Agency
Contributors
Thank you to everyone involved for improving this project, day by day.
License
This library is available under the MIT license.