brownie icon indicating copy to clipboard operation
brownie copied to clipboard

Is brownie dead?

Open obdura opened this issue 2 years ago • 22 comments

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.

obdura avatar Apr 20 '22 03:04 obdura

@iamdefinitelyahuman

obdura avatar Apr 21 '22 16:04 obdura

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.

freddie71010 avatar Apr 21 '22 20:04 freddie71010

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.

antazoey avatar Apr 26 '22 15:04 antazoey

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

fubuloubu avatar Apr 26 '22 21:04 fubuloubu

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 avatar May 15 '22 12:05 iamdefinitelyahuman

@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?

charles-cooper avatar May 15 '22 21:05 charles-cooper

@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 ?

poolpitako avatar Jun 22 '22 01:06 poolpitako

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.

charles-cooper avatar Jun 22 '22 03:06 charles-cooper

Note that there is now new framework ApeWorX that is actively maintained and fills the same ecosystem niche as Brownie

miohtama avatar Dec 20 '22 09:12 miohtama

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 avatar Dec 20 '22 13:12 devdanke

@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.

charles-cooper avatar Dec 20 '22 19:12 charles-cooper

titanoboa

Thanks for mentioning titanoboa. I hadn't heard of it.

devdanke avatar Dec 21 '22 10:12 devdanke

Brownie still works and you can use it. I would recommend you get familiarized with ape.

poolpitako avatar Dec 21 '22 14:12 poolpitako

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.

devdanke avatar Dec 31 '22 10:12 devdanke

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.

antazoey avatar Jan 03 '23 17:01 antazoey

@iamdefinitelyahuman Would you consider pinning this issue and adding some "Brownie is in maintenance mode" disclaimer to the README?

gnattishness avatar Apr 17 '23 05:04 gnattishness

@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.

drLis avatar May 23 '23 03:05 drLis

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.

antazoey avatar May 23 '23 12:05 antazoey

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 avatar May 23 '23 14:05 drLis

@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.

antazoey avatar May 23 '23 14:05 antazoey

@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 avatar May 23 '23 14:05 drLis

@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

fubuloubu avatar May 23 '23 15:05 fubuloubu