Skip to content

Commit d28bbee

Browse files
Merge branch 'main' into novalidate
2 parents 64e7bed + cdede30 commit d28bbee

File tree

98 files changed

+4489
-919
lines changed

Some content is hidden

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

98 files changed

+4489
-919
lines changed

.bumpversion.cfg

Lines changed: 0 additions & 22 deletions
This file was deleted.

.circleci/config.yml

Lines changed: 168 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,59 @@ common: &common
3434
- .tox
3535
- ~/.cache/pip
3636
- ~/.local
37-
- ./eggs
3837
key: cache-v1-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
3938

4039
orbs:
4140
win: circleci/[email protected]
4241

43-
windows_steps: &windows_steps
44-
executor:
45-
name: win/default
46-
shell: bash.exe
47-
working_directory: C:\Users\circleci\project\eth-utils
42+
windows-wheel-steps:
43+
windows-wheel-setup: &windows-wheel-setup
44+
executor:
45+
name: win/default
46+
shell: bash.exe
47+
working_directory: C:\Users\circleci\project\eth-utils
48+
environment:
49+
TOXENV: windows-wheel
50+
restore-cache-step: &restore-cache-step
51+
restore_cache:
52+
keys:
53+
- cache-v1-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
54+
install-pyenv-step: &install-pyenv-step
55+
run:
56+
name: install pyenv
57+
command: |
58+
pip install pyenv-win --target $HOME/.pyenv
59+
echo 'export PYENV="$HOME/.pyenv/pyenv-win/"' >> $BASH_ENV
60+
echo 'export PYENV_ROOT="$HOME/.pyenv/pyenv-win/"' >> $BASH_ENV
61+
echo 'export PYENV_USERPROFILE="$HOME/.pyenv/pyenv-win/"' >> $BASH_ENV
62+
echo 'export PATH="$PATH:$HOME/.pyenv/pyenv-win/bin"' >> $BASH_ENV
63+
echo 'export PATH="$PATH:$HOME/.pyenv/pyenv-win/shims"' >> $BASH_ENV
64+
source $BASH_ENV
65+
pyenv update
66+
install-latest-python-step: &install-latest-python-step
67+
run:
68+
name: install latest python version and tox
69+
command: |
70+
LATEST_VERSION=$(pyenv install --list | grep -E "${MINOR_VERSION}\.[0-9]+$" | tail -1)
71+
echo "installing python version $LATEST_VERSION"
72+
pyenv install $LATEST_VERSION
73+
pyenv global $LATEST_VERSION
74+
python3 -m pip install --upgrade pip
75+
python3 -m pip install tox
76+
run-tox-step: &run-tox-step
77+
run:
78+
name: run tox
79+
command: |
80+
echo 'running tox with' $(python3 --version)
81+
python3 -m tox run -r
82+
save-cache-step: &save-cache-step
83+
save_cache:
84+
paths:
85+
- .tox
86+
key: cache-v1-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
87+
88+
docs: &docs
89+
working_directory: ~/repo
4890
steps:
4991
- checkout
5092
- restore_cache:
@@ -55,28 +97,32 @@ windows_steps: &windows_steps
5597
command: |
5698
python -m pip install --upgrade pip
5799
python -m pip install tox
100+
- run:
101+
name: install latexpdf dependencies
102+
command: |
103+
sudo apt-get update
104+
sudo apt-get install latexmk tex-gyre texlive-fonts-extra texlive-xetex xindy
58105
- run:
59106
name: run tox
60107
command: python -m tox run -r
108+
- store_artifacts:
109+
path: /home/circleci/repo/docs/_build
61110
- save_cache:
62111
paths:
63112
- .tox
113+
- ~/.cache/pip
114+
- ~/.local
64115
key: cache-v1-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "setup.py" }}-{{ checksum "tox.ini" }}
116+
resource_class: xlarge
65117

66118
jobs:
67119
docs:
68-
<<: *common
120+
<<: *docs
69121
docker:
70-
- image: cimg/python:3.8
122+
- image: cimg/python:3.10
71123
environment:
72124
TOXENV: docs
73125

74-
py37-core:
75-
<<: *common
76-
docker:
77-
- image: cimg/python:3.7
78-
environment:
79-
TOXENV: py37-core
80126
py38-core:
81127
<<: *common
82128
docker:
@@ -101,6 +147,18 @@ jobs:
101147
- image: cimg/python:3.11
102148
environment:
103149
TOXENV: py311-core
150+
py312-core:
151+
<<: *common
152+
docker:
153+
- image: cimg/python:3.12
154+
environment:
155+
TOXENV: py312-core
156+
py313-core:
157+
<<: *common
158+
docker:
159+
- image: cimg/python:3.13
160+
environment:
161+
TOXENV: py313-core
104162

105163
py38-lint:
106164
<<: *common
@@ -126,13 +184,19 @@ jobs:
126184
- image: cimg/python:3.11
127185
environment:
128186
TOXENV: py311-lint
129-
130-
py37-wheel:
187+
py312-lint:
188+
<<: *common
189+
docker:
190+
- image: cimg/python:3.12
191+
environment:
192+
TOXENV: py312-lint
193+
py313-lint:
131194
<<: *common
132195
docker:
133-
- image: cimg/python:3.7
196+
- image: cimg/python:3.13
134197
environment:
135-
TOXENV: py37-wheel
198+
TOXENV: py313-lint
199+
136200
py38-wheel:
137201
<<: *common
138202
docker:
@@ -157,29 +221,93 @@ jobs:
157221
- image: cimg/python:3.11
158222
environment:
159223
TOXENV: py311-wheel
224+
py312-wheel:
225+
<<: *common
226+
docker:
227+
- image: cimg/python:3.12
228+
environment:
229+
TOXENV: py312-wheel
230+
py313-wheel:
231+
<<: *common
232+
docker:
233+
- image: cimg/python:3.13
234+
environment:
235+
TOXENV: py313-wheel
236+
237+
py311-windows-wheel:
238+
<<: *windows-wheel-setup
239+
steps:
240+
- checkout
241+
- <<: *restore-cache-step
242+
- <<: *install-pyenv-step
243+
- run:
244+
name: set minor version
245+
command: echo "export MINOR_VERSION='3.11'" >> $BASH_ENV
246+
- <<: *install-latest-python-step
247+
- <<: *run-tox-step
248+
- <<: *save-cache-step
249+
250+
py312-windows-wheel:
251+
<<: *windows-wheel-setup
252+
steps:
253+
- checkout
254+
- <<: *restore-cache-step
255+
- <<: *install-pyenv-step
256+
- run:
257+
name: set minor version
258+
command: echo "export MINOR_VERSION='3.12'" >> $BASH_ENV
259+
- <<: *install-latest-python-step
260+
- <<: *run-tox-step
261+
- <<: *save-cache-step
262+
263+
py313-windows-wheel:
264+
<<: *windows-wheel-setup
265+
steps:
266+
- checkout
267+
- <<: *restore-cache-step
268+
- <<: *install-pyenv-step
269+
- run:
270+
name: set minor version
271+
command: echo "export MINOR_VERSION='3.13'" >> $BASH_ENV
272+
- <<: *install-latest-python-step
273+
- <<: *run-tox-step
274+
- <<: *save-cache-step
275+
276+
define: &all_jobs
277+
- docs
278+
- py38-core
279+
- py39-core
280+
- py310-core
281+
- py311-core
282+
- py312-core
283+
- py313-core
284+
- py38-lint
285+
- py39-lint
286+
- py310-lint
287+
- py311-lint
288+
- py312-lint
289+
- py313-lint
290+
- py38-wheel
291+
- py39-wheel
292+
- py310-wheel
293+
- py311-wheel
294+
- py312-wheel
295+
- py313-wheel
296+
- py311-windows-wheel
297+
- py312-windows-wheel
298+
- py313-windows-wheel
160299

161-
py311-wheel-windows:
162-
<<: *windows_steps
163-
environment:
164-
TOXENV: py311-wheel-windows
165-
166300
workflows:
167301
version: 2
168302
test:
169-
jobs:
170-
- docs
171-
- py37-core
172-
- py38-core
173-
- py39-core
174-
- py310-core
175-
- py311-core
176-
- py38-lint
177-
- py39-lint
178-
- py310-lint
179-
- py311-lint
180-
- py37-wheel
181-
- py38-wheel
182-
- py39-wheel
183-
- py310-wheel
184-
- py311-wheel
185-
- py311-wheel-windows
303+
jobs: *all_jobs
304+
nightly:
305+
triggers:
306+
- schedule:
307+
# Weekdays 12:00p UTC
308+
cron: "0 12 * * 1,2,3,4,5"
309+
filters:
310+
branches:
311+
only:
312+
- main
313+
jobs: *all_jobs

.github/pull_request_template.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@ Closes #
66
### How was it fixed?
77

88
### Todo:
9-
- [ ] Clean up commit history
109

10+
- [ ] Clean up commit history
1111
- [ ] Add or update documentation related to these changes
12-
13-
- [ ] Add entry to the [release notes](https://github.com/ethereum/eth-utils/blob/master/newsfragments/README.md)
12+
- [ ] Add entry to the [release notes](https://github.com/ethereum/eth-utils/blob/main/newsfragments/README.md)
1413

1514
#### Cute Animal Picture
1615

17-
![Put a link to a cute animal picture inside the parenthesis-->]()
16+
![Put a link to a cute animal picture inside the parenthesis-->](<>)

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*.egg-info
99
dist
1010
build
11+
.build
1112
eggs
1213
.eggs
1314
parts
@@ -60,6 +61,9 @@ chains
6061
.cache
6162
.pytest_cache
6263

64+
# pycache
65+
__pycache__/
66+
6367
# Test output logs
6468
logs
6569

@@ -75,6 +79,12 @@ logs
7579
# pyenv
7680
.python-version
7781

82+
# vs-code
83+
.vscode
84+
85+
# jupyter notebook files
86+
*.ipynb
87+
7888
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
7989
# For a more precise, explicit template, see:
8090
# https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

0 commit comments

Comments
 (0)