You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Existing workflows (hourly.yml, daily.yml, weekly.yml, multisig-checker.yml, tests.yml) use uv python install which honours .python-version — no explicit version pin needed
Why now
We're shipping a fresh Docker image (#255) and a 2026 deployment; no reason to bake in a two-year-old runtime. Python 3.14 has been GA since Oct 2025 (~7 months) and all heavy deps in pyproject.toml (web3 7.x, pydantic 2.x, aiohttp 3.13.x, eth-account 0.13) ship 3.14 wheels.
Verification
uv sync succeeds with .python-version = 3.14
uv run pytest tests/ — full suite passes on 3.14
uv run mypy . — clean with python_version = "3.14"
uv run ruff check . and uv run ruff format --check . — clean with target-version = "py314"
docker compose run --rm monitor python --version — Python 3.14.x
One full hourly run via docker compose run --rm monitor python -m automation run hourly — exits 0
Sequencing
Lands after #255 so the Docker setup is proven working on the existing 3.12 runtime first; runtime bump can then be tested in isolation.
Follow-up to #255 — split out per review feedback so the Docker packaging PR doesn't conflate runtime bump with new packaging.
Scope
pyproject.toml:requires-python = ">=3.14"tool.ruff.target-version = "py314"tool.mypy.python_version = "3.14".python-versionat repo root containing3.14(souv python installand localuvinvocations pick it up automatically)uv lockregenerated against 3.14docker/Dockerfile(landed in Dockerize monitoring scripts (first PR: packaging + scheduler) #255):FROM python:3.14-slimfor both builder and runtime stageshourly.yml,daily.yml,weekly.yml,multisig-checker.yml,tests.yml) useuv python installwhich honours.python-version— no explicit version pin neededWhy now
We're shipping a fresh Docker image (#255) and a 2026 deployment; no reason to bake in a two-year-old runtime. Python 3.14 has been GA since Oct 2025 (~7 months) and all heavy deps in
pyproject.toml(web3 7.x, pydantic 2.x, aiohttp 3.13.x, eth-account 0.13) ship 3.14 wheels.Verification
uv syncsucceeds with.python-version = 3.14uv run pytest tests/— full suite passes on 3.14uv run mypy .— clean withpython_version = "3.14"uv run ruff check .anduv run ruff format --check .— clean withtarget-version = "py314"docker compose run --rm monitor python --version—Python 3.14.xdocker compose run --rm monitor python -m automation run hourly— exits 0Sequencing
Lands after #255 so the Docker setup is proven working on the existing 3.12 runtime first; runtime bump can then be tested in isolation.