Skip to content
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

Pinning exact version numbers for dependencies makes Brownie very difficult to use as a library #1516

Closed
zomglings opened this issue Apr 20, 2022 · 1 comment

Comments

@zomglings
Copy link
Contributor

Environment information

  • brownie Version: 1.17.2
  • ganache-cli Version: 6.12.2
  • solc Version: 0.8.9+commit.e5eed63a.Linux.g++
  • Python Version: Python 3.9.6
  • OS: linux (on WSL2)

What was wrong?

An example:

Brownie pins web3==5.27.0.

This causes problems with libraries require higher versions of web3. It is unlikely that brownie needs this exact version of web3. It would be useful if the dependency were specified as web3>=5.27.0. I realize brownie was intended to be a framework and not a library, but a little work on dependency specification would also make it useful as a library that others could build on top of.

We have also experienced similar issues with black versions required by brownie.

Please include information like:

  • what command you ran
  • the code that caused the failure (see this link for help with formatting code)
  • full output of the error you received

How can it be fixed?

Do not use requirements.txt. Specify all dependencies in setup.py and treat brownie as a library/CLI.

@zomglings zomglings changed the title Pinning exact version numbers makes Brownie very difficult to use as a dependency Pinning exact version numbers makes Brownie very difficult to use as a library Apr 20, 2022
@zomglings zomglings changed the title Pinning exact version numbers makes Brownie very difficult to use as a library Pinning exact version numbers for dependencies makes Brownie very difficult to use as a library Apr 20, 2022
zomglings added a commit to moonstream-to/inspector-facet that referenced this issue Apr 20, 2022
`eth-brownie` strategy of pinning versions of dependencies makes it very
hard to add other dependencies. Created an issue for this on the brownie
repo: eth-brownie/brownie#1516
@zomglings
Copy link
Contributor Author

I take back everything I said. We should just document BROWNIE_LIB=1 !!! Nice!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant