# === App / CLI requirements ===
zstd
typer>=0.9.0
httpx[http2,brotli]>=0.24.0
regex>=2023.0.0
openai>=1.0.0
humanize>=4.0.0
markdown>=3.4.0
lxml>=5.4.0,<7.0.0
pyease-grpc>=1.6.0
python-dotenv>=0.15.0,<2.0.0
beautifulsoup4>=4.8.0,<5.0.0
requests>=2.31.0
requests_toolbelt>=1.0.0
websocket-client>=1.7.0
python-slugify>=4.0.0,<9.0.0
colorama>=0.4.0,<0.5.0
tqdm>=4.60.0,<5.0.0
PyExecJS>=1.5.1,<2.0.0
ebooklib>=0.17.0,<1.0.0
pillow>=6.0.0
readability-lxml>=0.8.0,<1.0.0
questionary>=1.6.0
prompt-toolkit~=3.0
html5lib~=1.1
base58~=2.1.1
python-box>=6.0.0,<8.0.0
pycryptodome>=3.0.0,<4.0.0
selenium>=4.0.0,<5.0.0
tenacity>=9.0.0
pyparsing>=3.1.0
pyOpenSSL>=24.0.0
# cloudscraper>=1.2.71

# === Server / API requirements ===
uvicorn>=0.23.0
fastapi[standard]>=0.100.0
cachetools>=5.0.0
alembic>=1.12.0
sqlmodel>=0.0.14
psycopg[binary]>=3.1.0
passlib[argon2]>=1.7.4
python-jose[cryptography]>=3.3.0
python-dateutil>=2.8.0

# === Dev / build / tooling ===
wheel>=0.40.0
build>=0.10.0
black>=23.0.0
flake8>=6.0.0
tk-tools>=0.1.0
setuptools>=61.0
pyinstaller>=5.13.0

# === Type stubs (optional, for static analysis) ===
types-tqdm>=4.65.0
types-colorama>=0.4.0
types-cachetools>=5.3.0
types-python-dateutil>=2.8.0
types-passlib>=1.7.0
types-python-jose>=3.3.0
types-setuptools>=65.0.0
lxml-stubs>=0.4.0
types-zstd>=1.5.0
