colorama>=0.4.6,<1
termcolor>=1.1.0,<4
cryptography>=50.0.0
bip-utils>=2.5.0,<3
bech32>=1.2,<2
coincurve>=18.0.0,<22
mnemonic>=0.21,<1
aiohttp>=3.14.3,<4
bcrypt>=4,<5
pytest>=9.0.3,<10
pytest-cov>=4,<7
pytest-xdist>=3,<4
portalocker>=2.8,<4
# 0.44 removed NostrSigner.keys and changed Client's constructor; the
# client code does not build against it yet. See TODO.md.
nostr-sdk>=0.43,<0.44
websocket-client>=1.7,<2

websockets>=15,<16
tomli>=2,<3
hypothesis>=6,<7
mutmut>=2.4.4,<4
pgpy>=0.6,<1
pyotp>=2.8,<3
pynacl>=1.6.2,<2
cbor2>=5.9.0,<6
pyasn1>=0.6.4,<1
urllib3>=2.7.0,<3
pycryptodome>=3.20.0,<4

freezegun>=1.5.4,<2
typer>=0.12.3,<1

# Optional dependencies - install as needed for additional features
pyperclip>=1.9,<2            # Clipboard support for secret mode
qrcode>=8.2,<9               # Generate QR codes for TOTP setup
fastapi>=0.141.1,<1          # API server
uvicorn>=0.29,<1             # API server
starlette>=1.3.1,<2          # API server. The old <0.48 ceiling predated
                             # fastapi 0.141, which requires starlette>=0.46
                             # with no upper bound; keeping it pinned every
                             # starlette advisory open.
httpx>=0.28.1,<1             # API server
requests>=2.33.0,<3            # API server
python-multipart>=0.0.31,<0.1  # API server file uploads
PyJWT>=2.13.0,<3             # JWT authentication for API server
orjson>=3.11.5,<4            # Fast JSON serialization for API server
argon2-cffi>=21,<26          # Password hashing for API server
toga-core>=0.5.2,<1          # Desktop GUI
pillow>=12.1.1,<13             # Image support for GUI
toga-dummy>=0.5.2,<1         # Headless GUI tests
slowapi>=0.1.9,<1            # Rate limiting for API server
