[project]
name = "qrcode-poc"
version = "0.1.0"
description = "Reference implementation for narrowed QR verification with canonical signed schema, replay-safe nonce control, and issuer-state payload revalidation."
requires-python = ">=3.12"
dependencies = [
"alembic>=1.14.1",
"asyncpg>=0.30.0",
"bcrypt>=5.0.0",
"cryptography>=44.0.1",
"dnspython>=2.4.2",
"fastapi>=0.115.8",
"greenlet>=3.1.1",
"httpx>=0.28.1",
"opencv-python-headless>=4.13.0.92",
"psycopg2>=2.9.10",
"pycryptodome>=3.23.0",
"pydantic-settings>=2.7.1",
"pypdf>=6.12.2",
"pypdfium2>=4.30.0",
"python-dotenv>=1.0.1",
"python-jose[cryptography]>=3.5.0",
"qrcode[pil]>=8.2",
"redis>=5.0.1",
"sqlalchemy>=2.0.38",
"uvicorn>=0.34.0",
"zxing-cpp>=3.0.0",
]
[dependency-groups]
dev = [
"pytest>=9.0.3",
"pytest-asyncio>=1.3.0",
"pytest-cov>=7.1.0",
"playwright>=1.58.0",
"mkdocs>=1.6.1,<2",
"mkdocs-mermaid2-plugin==1.2.2",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"