I am trying to add superfluid-finance/protocol-monorepo@[email protected] into my brownie project.


  - superfluid-finance/protocol-monorepo@[email protected]

      - '@superfluid-finance=superfluid-finance/protocol-monorepo@[email protected]'

However, since the version has '@' in it, I am getting:

ValueError: Invalid package ID. Must be given as [ORG]/[REPO]@[VERSION]

How can I add a dependency where the version has '@' in it?

1 Answer 1


As I see in implementation of brownie, when extracting dependencies package ID, it just simply split with @ character to get the version like this:

path, version = package_id.split("@")

so if the version part of a dependency path includes @, it makes an error, and brownie can not get it from Github.

In the normal case, you can simply solve this problem by using other versions of repo that ethereum-contracts the same. But with superfluid-finance/protocol-monorepo repo it is impossible beacause all of its version after [email protected] still contain @.

If you still want to use this dependency, you can make a clone of it and set release version simply to 1.0.0. Brownie can also import dependencies with ethPM but I do not have experience with this, you can learn more about it here if you want.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.