asn1crypto>=1.5.1
qrcode>=7.3.1
tzlocal>=4.3
pyhanko-certvalidator<0.27,>=0.26.2
click>=8.1.3
requests>=2.31.0
pyyaml>=6.0
cryptography>=41.0.5

[async-http]
aiohttp~=3.9.0

[docs]
sphinx
sphinx-rtd-theme

[etsi]
xsdata~=23.8

[extra-pubkey-algs]
oscrypto>=1.2.1

[image-support]
Pillow>=7.2.0
python-barcode==0.15.1

[live-test]
pyHanko[async-http,extra-pubkey-algs,testing-basic,xmp]
pytest-aiohttp~=1.0.4
certomancer-csc-dummy==0.2.3
certomancer[pkcs12,web-api]<0.12.0,>=0.11.0
pytest-cov<4.2,>=4.0

[mypy]
pyHanko[async-http,etsi,extra-pubkey-algs,image-support,opentype,pkcs11,xmp]
types-requests
types-python-dateutil
types-PyYAML
types-tzlocal

[opentype]
fonttools>=4.33.3
uharfbuzz<0.38.0,>=0.25.0

[pkcs11]
python-pkcs11~=0.7.0

[testing]
pyHanko[async-http,extra-pubkey-algs,image-support,opentype,pkcs11,testing-basic,xmp]
pyHanko[etsi]
pytest-aiohttp~=1.0.4
certomancer-csc-dummy==0.2.3

[testing-basic]
pytest>=6.1.1
requests-mock>=1.8.0
freezegun>=1.1.0
pytest-asyncio==0.21.1
certomancer==0.11.*
pytest-cov<4.2,>=4.0

[testing-basic:python_version < "3.9"]
backports.zoneinfo[tzdata]

[xmp]
defusedxml~=0.7.1
