uv venv --seed --python 3.12 .venv && source .venv/bin/activate # uv fetches Python 3.12 if it is missing; --seed puts pip into the venv, so the pip line below installs there and not into the system Python # without uv: python3.12 -m venv .venv && source .venv/bin/activate python --version # must print 3.12.x pip install aiogram==3.31.0 feedparser==6.0.14 "apscheduler>=3.11.3,<4" httpx==0.28.1 python-dotenv==1.2.4 tzdata==2026.5 pytest==9.1.1