Skip to content

chore(all): remove python 3.10 support #1808

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/scripts/get_release_props.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# /// script
# requires-python = ">=3.10"
# requires-python = ">=3.12"
# dependencies = [
# "pyyaml",
# "click",
Expand Down
10 changes: 1 addition & 9 deletions .github/workflows/tox_verify.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,6 @@ jobs:
strategy:
matrix:
include:
- os: ubuntu-latest
python: "3.10"
- os: macos-latest
python: "3.11"
- os: ubuntu-latest
Expand Down Expand Up @@ -146,9 +144,6 @@ jobs:
strategy:
matrix:
include:
# Still getting requests.exceptions.ReadTimeout: UnixHTTPConnectionPool() in CI, even with local EELS
# - os: ubuntu-latest
# python: "3.10"
- os: ubuntu-latest
python: "3.11"
- os: macos-latest
Expand Down Expand Up @@ -183,9 +178,6 @@ jobs:
strategy:
matrix:
include:
# Still getting requests.exceptions.ReadTimeout: UnixHTTPConnectionPool() in CI, even with local EELS
# - os: ubuntu-latest
# python: "3.10"
- os: ubuntu-latest
python: "3.11"
- os: macos-latest
Expand All @@ -207,4 +199,4 @@ jobs:
- name: Run tox - fill tests for deployed forks
env:
EELS_RESOLUTIONS_FILE: ${{ github.workspace }}/.github/configs/eels_resolutions.json
run: uvx --with=tox-uv tox -e tests-deployed-zkevm
run: uvx --with=tox-uv tox -e tests-deployed-zkevm
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Execution Spec Tests

[![latest version](https://img.shields.io/github/v/release/ethereum/execution-spec-tests)](https://github.com/ethereum/execution-spec-tests/releases/latest)
![Python Versions](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue)
![Python Versions](https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13-blue)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![License](https://img.shields.io/github/license/ethereum/execution-spec-tests)](https://github.com/ethereum/execution-spec-tests/blob/main/LICENSE)
Expand Down Expand Up @@ -83,7 +83,7 @@ All current tags, their t8n implementation and branch they point to, are listed

### Prerequisites

The tools provided by ethereum/execution-spec-tests use `uv` ([docs.astral.sh/uv](https://docs.astral.sh/uv/)) to manage their dependencies and virtual environment. `uv` downloads Python for your target platform if one of the required versions (Python 3.10, 3.11 or 3.12) is not available natively.
The tools provided by ethereum/execution-spec-tests use `uv` ([docs.astral.sh/uv](https://docs.astral.sh/uv/)) to manage their dependencies and virtual environment. `uv` downloads Python for your target platform if one of the required versions (Python 3.11 or 3.12) is not available natively.

`uv` can be installed via curl (recommended; can self-update):

Expand Down
5 changes: 4 additions & 1 deletion docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ Test fixtures for use by clients are available for each release on the [Github r

## 🔜 [Unreleased]

### 💥 Breaking Change
### 💥 Breaking Changes

- Python 3.10 support was removed in this release ([#1808](https://github.com/ethereum/execution-spec-tests/pull/1808)).

#### 💥 Important Change for `fill` Users

Expand Down Expand Up @@ -49,6 +51,7 @@ Users can select any of the artifacts depending on their testing needs for their

### 📋 Misc

- Remove Python 3.10 support ([#1808](https://github.com/ethereum/execution-spec-tests/pull/1808)).
- ✨ Add changelog formatting validation to CI to ensure consistent punctuation in bullet points [#1691](https://github.com/ethereum/execution-spec-tests/pull/1691).
- ✨ Added the [EIP checklist template](https://eest.ethereum.org/main/writing_tests/checklist_templates/eip_testing_checklist_template/) that serves as a reference to achieve better coverage when implementing tests for new EIPs ([#1327](https://github.com/ethereum/execution-spec-tests/pull/1327)).
- ✨ Added [Post-Mortems of Missed Test Scenarios](https://eest.ethereum.org/main/writing_tests/post_mortems/) to the documentation that serves as a reference list of all cases that were missed during the test implementation phase of a new EIP, and includes the steps taken in order to prevent similar test cases to be missed in the future ([#1327](https://github.com/ethereum/execution-spec-tests/pull/1327)).
Expand Down
2 changes: 1 addition & 1 deletion docs/getting_started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The latest version of `uv` can be installed via `curl` (recommended; can self-up
pip install uv
```

If installed via `curl`, `uv` will download Python for your target platform if one of the required versions (Python 3.10, 3.11 or 3.12) is not available natively.
If installed via `curl`, `uv` will download Python for your target platform if one of the required versions (Python 3.11 or 3.12) is not available natively.

## Installation Commands

Expand Down
2 changes: 1 addition & 1 deletion docs/running_tests/hive/dev_mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ The following section details the setup and usage of option 3.
Within the [`eest/`](https://github.com/ethereum/hive/tree/master/simulators/ethereum/eest) directory of hive, a new dockerfile must be created: `Dockerfile.dev`, with the following contents:

```docker
FROM ghcr.io/astral-sh/uv:python3.10-bookworm-slim
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim
ARG branch=main
ENV GIT_REF=${branch}

Expand Down
9 changes: 5 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,13 @@ name = "ethereum-execution-spec-tests"
version = "1.0.0"
description = "Ethereum execution client test authoring framework"
readme = "README.md"
requires-python = ">=3.10"
requires-python = ">=3.11"
license = { file = "LICENSE" }
keywords = ["ethereum", "testing", "blockchain"]
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
dependencies = [
"click>=8.1.0,<9",
Expand Down Expand Up @@ -137,7 +138,7 @@ exclude = [
'^fixtures/',
'^logs/',
'^site/',
]
]
plugins = ["pydantic.mypy"]

[tool.codespell]
Expand All @@ -146,4 +147,4 @@ check-filenames = true
ignore-words-list = "ingenuous"

[tool.uv.sources]
ethereum-spec-evm-resolver = { git = "https://github.com/spencer-tb/ethereum-spec-evm-resolver", rev = "ee273e7344e24a739ebfbf0ea1f758530c4d032b" }
ethereum-spec-evm-resolver = { git = "https://github.com/spencer-tb/ethereum-spec-evm-resolver", rev = "ee273e7344e24a739ebfbf0ea1f758530c4d032b" }
Loading
Loading