-
Notifications
You must be signed in to change notification settings - Fork 167
chore(deps): pin build-system
deps, remove setuptools
from deps
#1345
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
chore(deps): pin build-system
deps, remove setuptools
from deps
#1345
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The bug that #1343 addressed, wasn't a uv
problem, it was due to a bug in setuptools
v78.0.0
(see this comment in the linked uv issue). It was fixed in setuptools
v78.0.1
.
As we originally didn't pin setuptools
in [build-system]
before your initial PR, #1343, eest was exposed to this bug. #1343 did pin it though, which is a good idea, so I suggest instead of simply reverting #1343 in this PR, we pin it to the latest patch release, v78.0.2
to make we don't run into this type of problem again.
Then the question is: Should we pin the setuptools
included in our package dependencies
?
Which then begs the question: Why is setuptools
in our package dependencies? 😆
AFAICT, it's only there for trie < 3
, as trie
seemingly doesn't have it as a dependency, but imported pkg_resources
from it's __init__.py
:
src/ethereum_test_types/types.py:25: in <module>
from trie import HexaryTrie
.venv/lib/python3.12/site-packages/trie/__init__.py:1: in <module>
import pkg_resources
E ModuleNotFoundError: No module named 'pkg_resources'
============================================================================================================================================================== short test summary info ===============================================================================================================================================================
ERROR - ModuleNotFoundError: No module named 'pkg_resources'
Trie < 3 also gave us a setuptools related warning:
.venv/lib/python3.12/site-packages/trie/__init__.py:1
/home/dtopz/code/github/new/execution-spec-tests/.venv/lib/python3.12/site-packages/trie/__init__.py:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Luckily, updating to trie==3.1.0 solves all these problems 🥳
So to summarize:
- We should pin
setuptools
to 78.0.2 in the[build-system]
requires
section. - We should update
trie
's dep constraints totrie>=3.1.0,<4
in eest packagedependencies
. - We should remove
setuptools
andsetuptools-types
from our packagedependencies
.
This is getting a bit out of hand, but it seems worth addressing these issues 😄
build-system
deps, remove setuptools
from deps
Done by hand, doesn't effect uv.lock.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks @danceratopz :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
…thereum#1345) Co-authored-by: danceratopz <[email protected]>
🗒️ Description
setuptools
78.0.0
introduced a bug which triggered CI fails as we didn't pinsetuptools
in our[build-system]
requires
section, see this comment, the OP has the symptoms.Whilst this has been fixed in
setuptools
78.0.1, we should pin the packages in our[build-system]
section.This PR:
setuptools
to 78.0.2 andwheel
to 0.45.1 in[build-system] requires
section.setuptools
andtypes-setuptools
from our packagedependencies; this required bumping
trie>=3.1,<4`."pycryptodome>=3.4.6,<3.10"
from chore(ci): explicity define version range forpycryptodome
. #1343.🔗 Related Issues
pycryptodome
. #1343 attempted to fix the ci build issues, but unfortunately, the issue was higher up the food chain insetuptools
v78.0.0.✅ Checklist