Skip to content

Commit 519fd1a

Browse files
committed
Move eest to its own package
1 parent 7315523 commit 519fd1a

File tree

386 files changed

+1100
-246
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

386 files changed

+1100
-246
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ __pycache__
66
__pycache__/
77
*.py[cod]
88
*$py.class
9+
.mypy_cache/
910

1011
# C extensions
1112
*.so

packages/tests/pyproject.toml

Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
[build-system]
2+
requires = [
3+
"setuptools==78.0.2",
4+
"wheel==0.45.1",
5+
] # the setuptools version here should match that of setuptools below in docs in optional-dependencies
6+
build-backend = "setuptools.build_meta"
7+
8+
[project]
9+
name = "ethereum-execution-tests"
10+
version = "1.0.0"
11+
description = "Ethereum execution client test authoring framework"
12+
readme = "README.md"
13+
requires-python = ">=3.11"
14+
license = "MIT"
15+
license-files = [ "LICENSE" ]
16+
keywords = ["ethereum", "testing", "blockchain"]
17+
classifiers = [
18+
"Programming Language :: Python :: 3.11",
19+
"Programming Language :: Python :: 3.12",
20+
]
21+
dependencies = [
22+
"click>=8.1.0,<9",
23+
"ethereum-hive>=0.1.0a1,<1.0.0",
24+
"ethereum-execution",
25+
"gitpython>=3.1.31,<4",
26+
"PyJWT>=2.3.0,<3",
27+
"requests>=2.31.0,<3",
28+
"requests_unixsocket2>=0.4.0",
29+
"colorlog>=6.7.0,<7",
30+
"pytest>=8,<9",
31+
"pytest-custom-report>=1.0.1,<2",
32+
"pytest-html>=4.1.0,<5",
33+
"pytest-metadata>=3,<4",
34+
"pytest-xdist>=3.3.1,<4",
35+
"coincurve>=20.0.0,<21",
36+
"trie>=3.1.0,<4",
37+
"semver>=3.0.1,<4",
38+
"pydantic>=2.11.0,<3",
39+
"rich>=13.7.0,<14",
40+
"filelock>=3.15.1,<4",
41+
"ethereum-types>=0.2.1,<0.3",
42+
"pyyaml>=6.0.2,<7",
43+
"types-pyyaml>=6.0.12.20240917,<7",
44+
"pytest-json-report>=1.5.0,<2",
45+
"typing-extensions>=4.12.2,<5",
46+
"questionary>=2.1.0,<3",
47+
"ethereum-rlp>=0.1.3,<0.2",
48+
"pytest-regex>=0.2.0,<0.3",
49+
"eth-abi>=5.2.0",
50+
"joblib>=1.4.2",
51+
"ckzg>=2.1.3,<3",
52+
"tenacity>=9.0.0,<10",
53+
]
54+
55+
[project.urls]
56+
Homepage = "https://github.com/ethereum/execution-specs"
57+
Documentation = "https://eest.ethereum.org"
58+
Repository = "https://github.com/ethereum/execution-specs"
59+
Issues = "https://github.com/ethereum/execution-specs/issues"
60+
Changelog = "https://eest.ethereum.org/main/CHANGELOG/"
61+
62+
[project.optional-dependencies]
63+
test = ["pytest-cov>=4.1.0,<5"]
64+
lint = [
65+
"ruff==0.13.2",
66+
"mypy==1.17.0",
67+
"types-requests>=2.31,<2.33",
68+
]
69+
docs = [
70+
"cairosvg>=2.7.0,<3",
71+
"codespell>=2.4.1,<3",
72+
"markdown==3.8",
73+
"mike>=1.1.2,<2",
74+
"mkdocs>=1.4.3,<2",
75+
"mkdocs-click>=0.8,<1",
76+
"mkdocs-gen-files>=0.5.0,<1",
77+
"mkdocs-git-authors-plugin>=0.7.1,<1",
78+
"mkdocs-glightbox>=0.3.4,<1",
79+
"mkdocs-literate-nav>=0.6.0,<1",
80+
"mkdocs-material>=9.1.14,<10",
81+
"mkdocs-material-extensions>=1.1.1,<2",
82+
"mkdocstrings>=0.21.2,<1",
83+
"mkdocstrings-python>=1.0.0,<2",
84+
"pillow>=10.0.1,<11",
85+
"pyspelling>=2.8.2,<3",
86+
"lxml>=6.0.0,<7", # needs to be >= 6.0 for pypy
87+
"setuptools==78.0.2",
88+
]
89+
90+
[project.scripts]
91+
fill = "cli.pytest_commands.fill:fill"
92+
phil = "cli.pytest_commands.fill:phil"
93+
execute = "cli.pytest_commands.execute:execute"
94+
attac = "cli.pytest_commands.execute:execute"
95+
checkfixtures = "cli.check_fixtures:check_fixtures"
96+
check_eip_versions = "cli.pytest_commands.check_eip_versions:check_eip_versions"
97+
consume = "cli.pytest_commands.consume:consume"
98+
protec = "cli.pytest_commands.consume:consume"
99+
checklist = "cli.pytest_commands.checklist:checklist"
100+
generate_checklist_stubs = "cli.generate_checklist_stubs:generate_checklist_stubs"
101+
genindex = "cli.gen_index:generate_fixtures_index_cli"
102+
gentest = "cli.gentest:generate"
103+
eofwrap = "cli.eofwrap:eof_wrap"
104+
pyspelling_soft_fail = "cli.tox_helpers:pyspelling"
105+
markdownlintcli2_soft_fail = "cli.tox_helpers:markdownlint"
106+
order_fixtures = "cli.order_fixtures:order_fixtures"
107+
evm_bytes = "cli.evm_bytes:evm_bytes"
108+
hasher = "cli.hasher:main"
109+
eest = "cli.eest.cli:eest"
110+
fillerconvert = "cli.fillerconvert.fillerconvert:main"
111+
groupstats = "cli.show_pre_alloc_group_stats:main"
112+
extract_config = "cli.extract_config:extract_config"
113+
compare_fixtures = "cli.compare_fixtures:main"
114+
modify_static_test_gas_limits = "cli.modify_static_test_gas_limits:main"
115+
116+
[tool.setuptools.packages.find]
117+
where = ["src"]
118+
exclude = ["*tests*"]
119+
120+
[tool.pyright]
121+
exclude = ["tests/static/**"]
122+
123+
[tool.setuptools.package-data]
124+
ethereum_test_forks = ["forks/contracts/*.bin"]
125+
"pytest_plugins.execute" = ["eth_config/networks.yml"]
126+
"pytest_plugins" = ["eels_resolutions.json"]
127+
"cli.eest.make" = ["templates/*.j2"]
128+
"cli.pytest_commands" = ["pytest_ini_files/*.ini"]
129+
"ethereum_test_types" = ["kzg_trusted_setup.txt"]
130+
131+
[tool.ruff]
132+
line-length = 99
133+
134+
[tool.ruff.lint]
135+
select = [
136+
"E", # pycodestyle errors
137+
"F", # Pyflakes
138+
"B", # flake8-bugbear
139+
"W", # pycodestyle warnings
140+
"I", # isort
141+
"A", # flake8-builtins
142+
"N", # pep8-naming
143+
"D", # pydocstyle
144+
"C4", # flake8-comprehensions
145+
"ARG", # flake8-unused-arguments
146+
]
147+
fixable = [
148+
"E", # pycodestyle errors
149+
"F", # Pyflakes
150+
"B", # flake8-bugbear
151+
"W", # pycodestyle warnings
152+
"I", # isort
153+
"D", # pydocstyle
154+
]
155+
ignore = [
156+
"C401", # Unnecessary generator set
157+
"C408", # Unnecessary collection call
158+
"D107", # Missing docstring in __init__
159+
"D200", # One-line docstring should fit on one line with quotes
160+
"D203", # 1 blank line required before class docstring
161+
"D205", # Missing blank line after summary
162+
"D212", # Multi-line docstring summary should start at the first line
163+
"D401", # First line should be in imperative mood ("Do", not "Does")
164+
# TODO: ethereum/execution-spec-tests#2176
165+
"ARG002", # unused-method-argument
166+
"ARG003", # unused-class-method-argument
167+
"ARG005", # unused-lambda-argument
168+
]
169+
170+
[tool.ruff.lint.per-file-ignores]
171+
"tests/*" = ["ARG001"] # TODO: ethereum/execution-spec-tests#2188
172+
173+
[tool.mypy]
174+
disable_error_code = ["import-untyped"]
175+
mypy_path = ["src", "$MYPY_CONFIG_FILE_DIR/stubs"]
176+
files = ["src", "tests"]
177+
exclude = [
178+
'^\.cache/',
179+
'^\.git/',
180+
'^\.pytest_cache/',
181+
'^\.ruff_cache/',
182+
'^\.tox/',
183+
'^\.venv/',
184+
'^\.vscode/',
185+
'^fixtures/',
186+
'^logs/',
187+
'^site/',
188+
]
189+
plugins = ["pydantic.mypy"]
190+
191+
[tool.codespell]
192+
skip = ".venv,__pycache__,.git,build,dist,*.pyc,*.lock"
193+
check-filenames = true
194+
ignore-words-list = "ingenuous"
195+
196+
[tool.pytest.ini_options]
197+
console_output_style = "count"
198+
minversion = "7.0"
199+
python_files = [
200+
"test_*.py"
201+
]
202+
testpaths = [
203+
"src"
204+
]
205+
addopts = [
206+
"-p", "pytester",
207+
"--ignore=src/pytest_plugins/consume/test_cache.py",
208+
"--ignore=src/pytest_plugins/consume/direct/",
209+
"--ignore=src/pytest_plugins/consume/simulators/",
210+
]
211+
212+
[tool.uv]
213+
required-version = ">=0.7.0"
214+
215+
[tool.uv.sources]
216+
ethereum-execution = { workspace = true }
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)