#!/bin/bash # Python development capability layer initialization script set -euo pipefail echo "Initializing python-dev capability layer..." # If pyproject.toml exists, install project in development mode if [[ -f "/workspace/pyproject.toml" ]]; then echo "Found pyproject.toml, installing project in development mode..." cd /workspace # Create virtual environment if it doesn't exist if [[ ! -d ".venv" ]]; then python3 -m venv .venv fi # Activate virtual environment source .venv/bin/activate # Install project in development mode with all dependencies. # Switched from `pip` to `uv pip` 2026-09-09 — uv is now pre-baked into # the base image (agent-runtimes/images/base/Dockerfile) and is faster, # has better retry on transient network failures, and the only remaining # runtime-install hang vector for project deps. uv pip install -e ".[dev,test]" 2>/dev/null || uv pip install -e . 2>/dev/null || { echo "Could not install with extras, trying basic install..." uv pip install -e . } echo "Project installed in development mode" else echo "No pyproject.toml found, skipping project installation" fi echo "Python development environment ready"