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

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

[docs]
sphinx
sphinx-rtd-theme

[etsi]
xsdata<26.0,>=24.4

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

[live-test]
pyHanko[async-http,testing-basic]
pytest-aiohttp<1.2.0,>=1.0.4
certomancer-csc-dummy==0.3.0
certomancer[web-api]<0.13,>=0.12.3
pytest-cov<6.2,>=4.0

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

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

[pkcs11]
python-pkcs11~=0.7.0

[testing]
pyHanko[async-http,image-support,opentype,pkcs11,testing-basic]
pyHanko[etsi]
pytest-aiohttp<1.2.0,>=1.0.4
certomancer-csc-dummy==0.3.0

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

[testing-basic:python_version < "3.9"]
pytest-asyncio==0.24.0
backports.zoneinfo[tzdata]

[testing-basic:python_version >= "3.9"]
pytest-asyncio==0.26.0
