spruceid / siwe-py

A Python implementation of Sign-In with Ethereum
https://login.xyz
Apache License 2.0
67 stars 30 forks source link

Loosen `eth-account`, `eth-utils` and `eth-typing` dependencies. #70

Closed derekpierre closed 3 months ago

derekpierre commented 3 months ago

Issue

I'm trying to use the latest siwe-py library which has a fix I need in a newer version (>v2.4.1) but has the following dependencies (https://github.com/spruceid/siwe-py/blob/v4.1.0/pyproject.toml):

eth-account = ">=0.11,<0.12"
eth-typing = "^4"  # peer of eth-account/web3
eth-utils = "^4"  # peer of eth-account/web3

However, I'm also using eth-ape for testing, which has the following dependencies:

"eth-account>=0.11.2,<0.12",
"eth-typing>=3.5.2,<4",
"eth-utils>=2.3.1,<3",

and therefore I now have conflicting dependencies with eth-typing and eth-utils because eth-ape wants versions <4, <3 respectively, but siwe-py wants versions 4.x.

(Issue #71 )

Resolution

Since the siwe-py library is so light, it was unclear to me the need for such a strict restriction on eth-utils and eth-typing, so I modified the pyproject.toml.

The tests for the library pass and I've tested using the update code as a github dependency and all works well, at least for the nucypher/nucypher library 😊 .

I'm hoping this can be included in a release relatively quickly.

Fixes #71 .

sbihel commented 3 months ago

This is starting to get complex and would deserve to run the tests for various versions of eth-account, but I'm going to trust that you tested with the older version for now.

sbihel commented 3 months ago

Released as part of v4.2.0