requests>=2.28.0
yt-dlp>=2023.0.0
transmission-rpc>=7.0.0

[all]
httpx>=0.28.0
playwright>=1.40.0
fastapi>=0.115.0
uvicorn[standard]>=0.24.0
pydantic>=2.0.0
google-cloud-storage>=2.13.0
google-cloud-secret-manager>=2.16.0
spotipy>=2.25.1
yt-dlp-ejs>=0.3.0
pytest>=7.0.0
pytest-mock>=3.10.0
pytest-cov>=4.0.0
pytest-asyncio>=0.23.0
ruff>=0.1.0
mypy>=1.0.0
types-requests>=2.28.0

[api]
fastapi>=0.115.0
uvicorn[standard]>=0.24.0
pydantic>=2.0.0
httpx>=0.28.0
google-cloud-storage>=2.13.0
google-cloud-secret-manager>=2.16.0

[dev]
pytest>=7.0.0
pytest-mock>=3.10.0
pytest-cov>=4.0.0
pytest-asyncio>=0.23.0
ruff>=0.1.0
mypy>=1.0.0
types-requests>=2.28.0

[ejs]
yt-dlp-ejs>=0.3.0

[keeper]
patchright>=0.1.0
httpx>=0.28.0

[remote]
httpx>=0.28.0
playwright>=1.40.0

[spotify]
spotipy>=2.25.1
