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

[async-http]
aiohttp<3.12,>=3.9

[docs]
sphinx
sphinx-rtd-theme

[etsi]
xsdata<25.0,>=24.4

[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.3.0
certomancer[web-api]<0.13,>=0.12.3
pytest-cov<6.1,>=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.43.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.3.0

[testing-basic]
pytest>=6.1.1
requests-mock>=1.8.0
freezegun>=1.1.0
pytest-asyncio==0.24.0
certomancer<0.13,>=0.12.3
pytest-cov<6.1,>=4.0

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

[xmp]
defusedxml~=0.7.1
