
[all]
pytest>=8.0
pytest-cov>=5.0
ruff>=0.6
black>=24.0
build>=1.0
twine>=5.0
fastapi>=0.110
uvicorn[standard]>=0.27
httpx>=0.27
jinja2>=3.1
z3-solver>=4.12
cryptography>=42
redis>=5
prometheus-client>=0.20
grpcio>=1.60
grpcio-tools>=1.60
pyjwt[crypto]>=2.8
web3>=6.15
eth-account>=0.11
python-dotenv>=1.0
yubikey-manager>=5.0
ledgerblue>=0.1.40
trezorlib>=0.13.9

[auth-jwt]
pyjwt[crypto]>=2.8

[client]
tau-x402-cage-client

[demo-onchain]
web3>=6.15
eth-account>=0.11
python-dotenv>=1.0

[dev]
pytest>=8.0
pytest-cov>=5.0
ruff>=0.6
black>=24.0
build>=1.0
twine>=5.0
fakeredis>=2.20
redis>=5

[fragment-v2]
z3-solver>=4.12

[grpc]
grpcio>=1.60

[grpc-dev]
grpcio>=1.60
grpcio-tools>=1.60

[history-redis]
redis>=5

[metrics]
prometheus-client>=0.20

[rate-limit-redis]
redis>=5

[saas]
fastapi>=0.110
uvicorn[standard]>=0.27
httpx>=0.27
jinja2>=3.1

[signing-ed25519]
cryptography>=42

[signing-ledger]
ledgerblue>=0.1.40
cryptography>=42

[signing-policy]
cryptography>=42

[signing-trezor]
trezorlib>=0.13.9
cryptography>=42

[signing-yubikey]
cryptography>=42
yubikey-manager>=5.0

[sync-redis]
redis>=5

[tau]

[webhooks]
