80d73d1b74
- redis/client.py: use BlockingConnectionPool.from_url() (fixes 'url' kwarg error) - database/engine_compat.py: patch aiomysql do_ping to satisfy pool_pre_ping - database/session.py: apply engine_compat patch before create_async_engine - requirements.txt: SQLAlchemy 2.0.49 (fixes aiomysql ping() reconnect signature) - .env.example: document NEXUS_REDIS_URL format - scripts/wsl_ensure_venv.sh: create project .venv (PEP 668 safe) - scripts/wsl_start_dev.sh: use .venv python, validate Redis before start - scripts/wsl_integration_smoke.sh: code-only verification mode - scripts/wsl_check_mysql.py / bootstrap_database.py: MySQL setup helpers - scripts/sync_frontend_vendor.py: vendor asset sync utility Co-authored-by: Cursor <cursoragent@cursor.com>
20 lines
555 B
Bash
20 lines
555 B
Bash
#!/usr/bin/env bash
|
|
# Create/use project venv and install requirements (PEP 668 safe).
|
|
set -euo pipefail
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
cd "$ROOT"
|
|
|
|
VENV="${ROOT}/.venv"
|
|
PY="${VENV}/bin/python3"
|
|
PIP="${VENV}/bin/pip"
|
|
|
|
if [[ ! -x "$PY" ]]; then
|
|
echo "Creating .venv ..."
|
|
python3 -m venv "$VENV"
|
|
fi
|
|
|
|
"$PIP" install -q -U pip
|
|
"$PIP" install -q -r requirements.txt
|
|
"$PIP" install -q pytest pytest-asyncio
|
|
echo "[OK] venv ready: $PY ($("$PY" -c 'import sqlalchemy,redis; print("sqlalchemy", sqlalchemy.__version__, "redis", redis.__version__)'))"
|