safe-global / safe-cli

Command line utility for Safe
MIT License
208 stars 68 forks source link

Explicitly declare hexbytes dependency #421

Closed fmrsabino closed 2 months ago

fmrsabino commented 2 months ago

We are using hexbytes as a dependency in our argparse_validators however the dependency is only available transitively.

The following describes how hexbytes is provided:

hexbytes==0.3.1
├── eth-account==0.11.2 [requires: hexbytes>=0.1.0,<0.4.0]
│   └── web3==6.19.0 [requires: eth-account>=0.8.0,<0.13]
│       └── safe-eth-py==6.0.0b30 [requires: web3>=6.2.0]
│           └── safe-cli==1.2.1 [requires: safe-eth-py==6.0.0b30]
├── eth-rlp==1.0.1 [requires: hexbytes>=0.1.0,<1]
│   └── eth-account==0.11.2 [requires: eth-rlp>=0.3.0]
│       └── web3==6.19.0 [requires: eth-account>=0.8.0,<0.13]
│           └── safe-eth-py==6.0.0b30 [requires: web3>=6.2.0]
│               └── safe-cli==1.2.1 [requires: safe-eth-py==6.0.0b30]
├── trie==3.0.1 [requires: hexbytes>=0.2.3]
│   └── py-evm==0.10.1b1 [requires: trie>=2.0.0]
│       └── safe-eth-py==6.0.0b30 [requires: py-evm>=0.7.0a1]
│           └── safe-cli==1.2.1 [requires: safe-eth-py==6.0.0b30]
└── web3==6.19.0 [requires: hexbytes>=0.1.0,<0.4.0]
    └── safe-eth-py==6.0.0b30 [requires: web3>=6.2.0]
        └── safe-cli==1.2.1 [requires: safe-eth-py==6.0.0b30]

We should declare hexbytes as a project dependency in case any of the dependencies that include stop using and exporting it.

coveralls commented 2 months ago

Coverage Status

coverage: 87.279%. remained the same when pulling 480381af1bc883c472b2cb34e0e718fdc14f6720 on declare-hexbytes-dependency into dbea553f755064c9e54788db5a5e9946d506f87a on main.

fmrsabino commented 2 months ago

@fmrsabino Remember to add the dependency here: https://github.com/safe-global/safe-cli/blob/main/pyproject.toml

Good catch 👍 I've set the range of >=0.2.3,<0.4.0. Let me know what you think (the trie dependency requires at least version 0.2.3)

177056d

coveralls commented 2 months ago

Coverage Status

coverage: 87.279%. remained the same when pulling 177056d4024e4e7aa65f58f6fa6136c34df597f5 on declare-hexbytes-dependency into dbea553f755064c9e54788db5a5e9946d506f87a on main.