Skip to content

Bump runtime to Python 3.14 #256

@spalen0

Description

@spalen0

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"
  • New .python-version at repo root containing 3.14 (so uv python install and local uv invocations pick it up automatically)
  • uv lock regenerated against 3.14
  • docker/Dockerfile (landed in Dockerize monitoring scripts (first PR: packaging + scheduler) #255): FROM python:3.14-slim for both builder and runtime stages
  • 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 --versionPython 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions