ethereum / web3.py

A python interface for interacting with the Ethereum blockchain and ecosystem.
http://web3py.readthedocs.io
MIT License
4.96k stars 1.69k forks source link

eciespy compatibility - upgrade dependency eth-typing to 3.0.0 or greater and less than 4.0.0 #2766

Closed ncimino closed 1 year ago

ncimino commented 1 year ago
aiohttp==3.8.3
aiosignal==1.3.1
asgiref==3.6.0
asn1crypto==1.5.1
asttokens==2.2.1
async-timeout==4.0.2
attrs==22.1.0
backcall==0.2.0
backports.zoneinfo==0.2.1
base58==2.1.1
bitarray==2.6.1
certifi==2022.12.7
cffi==1.15.1
charset-normalizer==2.1.1
coincurve==17.0.0
cytoolz==0.12.0
decorator==5.1.1
dj-database-url==1.2.0
Django==4.1.4
ecdsa==0.18.0
eciespy==0.3.13
eth-abi==2.2.0
eth-account==0.5.9
eth-hash==0.3.3
eth-keyfile==0.5.1
eth-keys==0.3.4
eth-rlp==0.2.1
eth-typing==2.3.0
eth-utils==1.10.0
executing==1.2.0
frozenlist==1.3.3
hexbytes==0.3.0
idna==3.4
importlib-resources==5.10.1
ipdb==0.13.11
ipfshttpclient==0.8.0a2
ipython==8.7.0
jedi==0.18.2
jsonschema==4.17.3
libnum==1.7.1
lru-dict==1.1.8
matplotlib-inline==0.1.6
multiaddr==0.0.9
multidict==6.0.3
netaddr==0.8.0
oauthlib==3.2.2
parsimonious==0.8.1
parso==0.8.3
pexpect==4.8.0
pickleshare==0.7.5
pkgutil_resolve_name==1.3.10
prompt-toolkit==3.0.36
protobuf==3.19.5
ptyprocess==0.7.0
pure-eval==0.2.2
pycparser==2.21
pycryptodome==3.16.0
Pygments==2.13.0
pyrsistent==0.19.2
requests==2.28.1
requests-oauthlib==1.3.1
rlp==2.0.1
-e git+ssh://git@github.com/<private_redacted>
six==1.16.0
sqlparse==0.4.3
stack-data==0.6.2
tomli==2.0.1
toolz==0.12.0
traitlets==5.8.0
tweepy==4.12.1
urllib3==1.26.13
varint==1.0.2
wcwidth==0.2.5
web3==5.31.3
websockets==9.1
yarl==1.8.2
zipp==3.11.0

What was wrong?

eciespy will commonly be used with web3, please consider making this change so they are compatible...

Because no versions of eciespy match >0.3.13,<0.4.0
 and eciespy (0.3.13) depends on eth-keys (>=0.4.0,<0.5.0), eciespy (>=0.3.13,<0.4.0) requires eth-keys (>=0.4.0,<0.5.0).
And because no versions of eth-keys match >0.4.0,<0.5.0
 and eth-keys (0.4.0) depends on eth-typing (>=3.0.0,<4), eciespy (>=0.3.13,<0.4.0) requires eth-typing (>=3.0.0,<4).
And because web3 (5.31.3) depends on eth-typing (>=2.0.0,<3.0.0)
 and no versions of web3 match >5.31.3,<6.0.0, eciespy (>=0.3.13,<0.4.0) is incompatible with web3 (>=5.31.3,<6.0.0).
So, because project depends on both web3 (^5.31.3) and eciespy (^0.3.13), version solving failed.

How can it be fixed?

By upgrading dependency eth-typing to 3.0.0 or greater and less than 4.0.0.

ncimino commented 1 year ago

Oh sorry I just pulled this repo to fix this and I see on main it is already fixed: https://github.com/ethereum/web3.py/blob/2ee8427913c90be8224a00ecf180a2c6ca245996/setup.py#L87

Is there a way I can install this 6.0.0-beta.8 version?

ncimino commented 1 year ago

I just found how to install a locally built version here: https://web3py.readthedocs.io/en/latest/contributing.html#manual-testing

Closing this out now.