aws-samples / aws-samples/sample-autonomous-cloud-coding-agents

chore(agent): upgrade Python 3.13 → 3.14

Offen Anfängerfreundlich
#105 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
agent-runtime enhancement tooling
Vorherrschende Sprache
TypeScript
Sterne
143
Forks
46
Ø Merge
3 T. 10 Std.
Gemergte PRs (30 T.)
24

Beschreibung

## Summary

Upgrade the agent container base image from `python:3.13-slim` to `python:3.14-slim`.

Related: #104 (toolchain monitoring RFC)

## Risk Assessment: SAFE

Comprehensive codebase analysis shows **zero code changes required**:

| Check | Result |
|-------|--------|
| `requires-python` constraint | `>=3.13` — already permits 3.14 |
| Removed stdlib modules (asyncore, cgi, etc.) | None used |
| Typing features | All stable since 3.11/3.12; PEP 649 compatible |
| Native extension wheels (cedarpy, pydantic-core, grpcio, cffi) | All have cp314 wheels in uv.lock |
| Major deps (boto3, fastapi, uvicorn, opentelemetry, claude-agent-sdk) | All pure-Python or have 3.14 wheels |
| C extensions in agent source | None — all pre-built wheels |
| asyncio event loop policy usage | Diagnostic only; no behavior change in 3.14 |

## Changes Required

1. `agent/Dockerfile` line 11: `python:3.13-slim` → `python:3.14-slim`
2. `agent/pyproject.toml`: `target-version = "py313"` → `"py314"` (ruff)
3. `agent/pyproject.toml`: `python-version = "3.13"` → `"3.14"` (ty)
4. Re-lock: `uv lock` (lockfile already has 3.14 resolution markers)

## Testing Required

- [ ] Docker image builds
- [ ] `uv sync --frozen` works (or re-lock if needed)
- [ ] Agent unit tests pass
- [ ] Trivy image scan passes
- [ ] Smoke test: full agent task execution

## Notes

- Consider doing this **separately** from the Debian trixie upgrade (#106) to isolate variables
- Python 3.14 is stable with 5 patch releases as of May 2026
- The uv.lock already contains resolution markers for `python_full_version >= '3.14'`

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Aktualisiere die vier in der Issue genannten Stellen: agent/Dockerfile, agent/pyproject.toml und die von uv lock erzeugte uv.lock. Überprüfe zuerst diese Einstellungen der Python-Version, führe dann uv lock und uv sync --frozen aus, baue das Docker-Image, führe die Agent-Unit-Tests und den Trivy-Scan aus und führe den Smoke-Test durch. Die Aufgabe ist erledigt, wenn das Python-3.14-Image gebaut wird und alle aufgeführten Prüfungen erfolgreich sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
docker, python
Bereich
build-system, devops
Issue-Typ
Refactoring
Schwierigkeit
2/5
Geschätzter Aufwand
Ein halber Tag
Aktivitätsstatus
Ruhig
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
68/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.