ersilia-os / ersilia

The Ersilia Model Hub, a repository of AI/ML models for infectious and neglected disease research.
https://ersilia.io
GNU General Public License v3.0
203 stars 131 forks source link

📑 Feature Request: Remove SQLAlchemy dependency #530

Closed GemmaTuron closed 1 year ago

GemmaTuron commented 1 year ago

Ersilia has a dependency of SQLalchemy <=1.14 due to the BentoML version that we are using (0.11). To bypass this, we have decided instead of bumping ersilia to BentoML v>1.0 to fork BentoML 0.11 and make it slim, removing dependencies we don't need and services we don't use, like Yatai.

@leoank will start with the fork and first dependency removal

GemmaTuron commented 1 year ago

I have forked BentoML in Ersilia's org, we need to bump to the right commit to get v0.11 https://stackoverflow.com/questions/39542634/how-do-i-fork-an-older-version-of-a-github-project

GemmaTuron commented 1 year ago

Update:

We have downloaded v0.11 and created our own repo: https://github.com/ersilia-os/bentoml-ersilia

miquelduranfrigola commented 1 year ago

Hi @GemmaTuron and @leoank :

I have made progress. I could not get rid of the SQLalchemy dependency but, at least, I have removed the strong requirements for older version in BentoML 0.11.0.

You can see the current trimmed BentoML 0.11.0 at: https://github.com/ersilia-os/bentoml-ersilia

In turn, now ersilia uses bentoml-ersilia: https://github.com/ersilia-os/ersilia/blob/master/setup.py

This means that, in practical terms, we can install ersilia in any python version >= 3.7, which I think is great progress.

I am not experiencing any issue with SQLalchemy at the moment, so I am not sure we need to remove it if we allow for flexibility in the versions.

It is virtually impossible to detach BentoML from Yatai, so I believe we will always have the Protobuf issue...

GemmaTuron commented 1 year ago

Good, thanks @miquelduranfrigola for the update

We will close this issue as completed then.