brownie
brownie copied to clipboard
Is brownie dead?
Sorry for asking this here, but the dev has not commited any new updates to the project since feb 19, and its profile shows a declining activity from the last months.
I am asking this because I am looking for a framework to start studying how to develop contracts, and I found brownie, but want to know if this project is still supported.
@iamdefinitelyahuman
this is a fair point. since @iamdefinitelyahuman hasn't been that active - how should we as a community move forward? Brownie is a great tool, we need to keep developing it.
Have you tried ApeFramework? Https://github.com/apeworx/ape It is very much inspired from Brownie. We have an active dev team, Discord community, and road-map.
Have you tried ApeFramework? Https://github.com/apeworx/ape It is very much inspired from Brownie. We have an active dev team, Discord community, and road-map.
Website is https://apeworx.io Docs at https://docs.apeworx.io/ape
Also, if you need help converting a Brownie repository, we will be doing an office hour on how to do that in the next week or so. Will post more info in the Discord and try to record it too
It is true that I've been less active in recent months. I will make an effort to periodically review and merge PRs, and release new patch versions when logical. However, significant continued development seems unlikely - unless from another contributor.
I am happy to see the progress the ApeWorX team has made. I still strongly believe that python is the right tool for the job re: EVM smart contract testing, am glad there is another python framework under active development.
@iamdefinitelyahuman maybe a good path forward could be if you add another owner to the brownie repository who is able to carry on maintenance+development?
@iamdefinitelyahuman maybe a good path forward could be if you add another owner to the brownie repository who is able to carry on maintenance+development?
someone like you? @charles-cooper ?
someone like you? @charles-cooper ?
@poolpitako i appreciate the vote of confidence! i definitely have my hands full with vyper right now so i don't think i could be a full time maintainer of brownie long term.
what i might be able to do though at least temporarily is maintain part-time -- shepherd and review PRs as needed, and help search for a longer-term maintainer.
Note that there is now new framework ApeWorX that is actively maintained and fills the same ecosystem niche as Brownie
Note that there is now new framework ApeWorX that is actively maintained and fills the same ecosystem niche as Brownie
I'm new to Vyper and was using Brownie learn to develop smart contracts. After a couple months using Brownie, I found this issue, indicating Brownie is effectively dead:-(
Being new to this space, I don't even know fully what Brownie is. I just know my limited use. I'd like to avoid jumping around from one broken, dead, not-really-what-I-need tool to another. It's demotivating to spend months on Brownie, only to find it's dead.
May I suggest that the nice people behind ApeWorX create a page on their site with a few paragraphs explaining: a) What, broadly, is the space that Brownie and ApeWorX are in? b) Are there any major Brownie features that ApeWorX does not provide? c) Is ApeWorX a free tool or the base level offering in a freemium model? d) Besides ApeWorX and Brownie, are there any other similar tools?
I'm asking because, as a new Vyper user, it looks like Vyper lacks sufficient tools and ecosystem to be considered ready for prime time (except maybe by people who are already smart contract/Python experts). If that's true, maybe it's best that I just learn Solidity instead.
@devdanke apeworx and titanoboa are both good tools for using vyper. apeworx should mostly follow the brownie API too so your knowledge should carry over if you switch.
titanoboa
Thanks for mentioning titanoboa. I hadn't heard of it.
Brownie still works and you can use it. I would recommend you get familiarized with ape.
Based on my sub-optimal learning experience, Brownie is poor tool for someone new to Vyper and smart contracts. Brownie is a dead end. It would be nice if Brownie's top level README stated the project is no longer in active development. That would've saved me time and frustration trying to get Developer Revert Messages to work, which Brownie's documentation claims is a feature. (I also never got the contract print() method to work or any error info on failed interface calls.)
Apeworx does not look like a beginner friendly tool/path either. Based its website and Youtube videos about it, Apeworx is aimed at developers with extensive smart contract experience and knowledge.
In retrospect, I should have started with Solidity. Solidity's messier syntax is mitigated by the vast number of actively developed tools and frameworks, plus a large number of up-to-date tutorials, many of which are aimed a newbies.
The Ape Academy is meant for beginners and Vyper users: https://academy.apeworx.io/ The concepts are about how to use Ape as well as like "What is an ERC20?" etc.
@iamdefinitelyahuman Would you consider pinning this issue and adding some "Brownie is in maintenance mode" disclaimer to the README?
@iamdefinitelyahuman Would you consider pinning this issue and adding some "Brownie is in maintenance mode" disclaimer to the README?
Or may be we can select new maintainer for brownie? Because there is no enterprise-ready alternative for brownie right now and pythonic evm comunity really need that tool for work. May be even not one, but some maintainers.
Because there is no enterprise-ready alternative for brownie right now
Ape is used at the enterprise level. We could use some more help and support from the community though.
Because there is no enterprise-ready alternative for brownie right now
Ape is used at the enterprise level. We could use some more help and support from the community though.
Yes, but we have already discuss about that at devcon: not for every project right now. For example if I use Windows Server 2019 or Windows Server 2016 (with extend support) there are some problems with WSL and in that case I can't use Ape framework by the simple way. Even with Windows Server 2022 or casual Windows: WSL1/2 usually is not good option for big projects because there are some problems with performance (for example now my brownie tests in one project takes 30 minutes for running, but in WSL it more than 2 hours for same tests). Also it is not easy to add WSL to CI/CD at windows-latest instances etc.
My collegue tried to run Ape at GNU/RHEL and he also has problems (mainly with default python and packages for running, but it takes time to solve that). Finally that works, but seems that Ape framework mainly for Debian-like distributives of GNU/Linux (Ubuntu etc).
Also when I have tried Ape for testing crosschain-dapps I have some problems with middleware onion for networks like Quorum (JPMorganChase/Consensys), debug precompiled contracts of moonbeam/moonbase/quorum etc.
Yes, I agree that Ape is good framework and I like it, especialy I like to use it for testng new hypotheses at mainstream chains like Ethereum or mainstream L2-networks, but right now I can't change brownie to Ape in my prod projects, so I need brownie support for that while Ape framework grows and add new features/supported platforms.
@drLis thank you for taking the time to write all this out! I believe Windows support has made some recent advancements. Based on some PRs I saw recently in ape-solidity
, we suddenly have Windows users. I think something got fixed in web3.py but am not sure. In general, I'd definitely love to see growth there but it has been hard because of backend issues with dependencies like eth-tester. If you have a chance, could you try again to see if it is resolved now?
In any case, I really appreciate the feedback and I want to make sure it is all on the radar. Bigger projects using Ape is usually what drives better support for these things.
I definitely see Ape as having great potential multi-chain / network testing. I think the arch makes this do-able. Because of weird consensys rules, plugins make it best for adding those middlewares and such.. Perhaps we could make a Quorum plugin.
@drLis thank you for taking the time to write all this out! I believe Windows support has made some recent advancements. Based on some PRs I saw recently in
ape-solidity
, we suddenly have Windows users. I think something got fixed in web3.py but am not sure. In general, I'd definitely love to see growth there but it has been hard because of backend issues with dependencies like eth-tester. If you have a chance, could you try again to see if it is resolved now?In any case, I really appreciate the feedback and I want to make sure it is all on the radar. Bigger projects using Ape is usually what drives better support for these things.
I definitely see Ape as having great potential multi-chain / network testing. I think the arch makes this do-able. Because of weird consensys rules, plugins make it best for adding those middlewares and such.. Perhaps we could make a Quorum plugin.
Wow, interesting. I have not tried latest version yet, but definitely I am going to test it soon in June. Thank you for your work!
@drLis thank you for taking the time to write all this out! I believe Windows support has made some recent advancements. Based on some PRs I saw recently in
ape-solidity
, we suddenly have Windows users. I think something got fixed in web3.py but am not sure. In general, I'd definitely love to see growth there but it has been hard because of backend issues with dependencies like eth-tester. If you have a chance, could you try again to see if it is resolved now?In any case, I really appreciate the feedback and I want to make sure it is all on the radar. Bigger projects using Ape is usually what drives better support for these things.
I definitely see Ape as having great potential multi-chain / network testing. I think the arch makes this do-able. Because of weird consensys rules, plugins make it best for adding those middlewares and such.. Perhaps we could make a Quorum plugin.
Wow, interesting. I have not tried latest version yet, but definitely I am going to test it soon in June. Thank you for your work!
Thank you for your feedback!
Also, we'd love to work more on this with you. Please feel free to join our discord which should get you quicker responses to your technical issues
https://discord.gg/apeworx