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

Is brownie dead? #1515

Open
obdura opened this issue Apr 20, 2022 · 22 comments
Open

Is brownie dead? #1515

obdura opened this issue Apr 20, 2022 · 22 comments

Comments

@obdura
Copy link

obdura commented Apr 20, 2022

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
Copy link
Author

obdura commented Apr 21, 2022

@iamdefinitelyahuman

@freddie71010
Copy link

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.

@antazoey
Copy link

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.

@fubuloubu
Copy link
Contributor

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

@iamdefinitelyahuman
Copy link
Member

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.

@charles-cooper
Copy link
Collaborator

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

@poolpitako
Copy link
Contributor

poolpitako commented Jun 22, 2022

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

@charles-cooper
Copy link
Collaborator

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.

@miohtama
Copy link

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

@devdanke
Copy link

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.

@charles-cooper
Copy link
Collaborator

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

@devdanke
Copy link

titanoboa

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

@poolpitako
Copy link
Contributor

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

@devdanke
Copy link

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.

@antazoey
Copy link

antazoey commented Jan 3, 2023

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.

@gnattishness
Copy link
Contributor

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

@drLis
Copy link

drLis commented May 23, 2023

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

@antazoey
Copy link

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.

@drLis
Copy link

drLis commented May 23, 2023

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.

@antazoey
Copy link

@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
Copy link

drLis commented May 23, 2023

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

@fubuloubu
Copy link
Contributor

fubuloubu commented May 23, 2023

@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

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