slither icon indicating copy to clipboard operation
slither copied to clipboard

Adding poetry support for development

Open KholdStare opened this issue 2 years ago • 2 comments

It should be equivalent to what's already in setup.py, but should simplify developer onboarding and reproducibility. poetry.lock ensures anyone installing from scratch will get the exact same versions of dependencies as everyone else.

Brief usage:

poetry install # install all dependencies in virtual env
poetry run pylint slither # run anything in the virtual env
poetry shell # start a shell in virtual env

See https://python-poetry.org/ for more docs

KholdStare avatar Aug 26 '22 19:08 KholdStare

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Aug 26 '22 19:08 CLAassistant

Let me know if this is unwelcome. I wanted to contribute to the project in general (for example adding mypy linting, and working through any errors there), and I am a big fan of using poetry for the development/build workflow - it makes setup and reproducibility that much easier.

KholdStare avatar Aug 26 '22 19:08 KholdStare

@KholdStare I think we've decided to use Makefile for virtualenv management, linting, testing, etc since none of the python tools like poetry are a catch all solution, so I'm closing this for now. This could change in the future though

0xalpharush avatar Mar 22 '23 17:03 0xalpharush

@0xalpharush I see. I think using poetry can go hand in hand with everything you pointed out. One of the main benefits is having a lock file. I don't see a dependency lockfile checked into the repo at the moment, and IMHO that can lead to reproducibility issues if some indirect dependencies drift. Poetry just replaced the "setup.py" portion with something more declarative.

KholdStare avatar Mar 22 '23 17:03 KholdStare