Moralis-Python-SDK icon indicating copy to clipboard operation
Moralis-Python-SDK copied to clipboard

Pinned versions in requirements.txt are too restrictive

Open ehtec opened this issue 1 year ago • 4 comments

New Feature Request

Checklist

Current Limitation

The requirements in the requirements.txt file are too restrictive, because they pin exact package versions. They make it impossible to install moralis in my environment together with other packages.

Feature / Enhancement Description

Please don't make such restrictive dependency requirements, I don't think they are necessary for proper operation. For example only specify a minimum version.

Alternatives / Workarounds

Currently I need to bypass the dependency checks and install dependencies manually to get it work.

ehtec avatar Aug 21 '23 19:08 ehtec

I don't think you should be using requirements.txt, those are just for development of the package. If you install it, I think you're using the dependencies listed in setup.py. I agree that the dependencies are still a bit too narrow for a package that should be useable in a wide range of massive projects, but that's probably for a different ticket.

mikulas-mrva avatar Sep 08 '23 11:09 mikulas-mrva

This is correct, but doesn't change the issue I am facing. I'm actually not using requirements.txt, I just install it via Pip from PyPi. After getting the dependency conflicts, I looked into requirements.txt, noticed the pinned versions, and submitted this issue, assuming this is what gets installed when I install from PyPi. That's not the case, you are right the setup.py dependencies are what actually gets installed, and this is what causes my issue. They are still too narrow, especially as strict requirements on very basic commonly used libraries are made, not only on exotic ones.

ehtec avatar Sep 08 '23 13:09 ehtec

In that case the issue shouldn't be mentioning requirements.txt, but setup.py. see https://github.com/MoralisWeb3/Moralis-Python-SDK/blob/main/setup.py

Either way @ehtec, I think you'll love version 0.1.39 released a few days ago. It solves the problem for me, so chances are it would work for you also. See also: https://forum.moralis.io/t/python-sdk-bump-up-version-of-python-dateutil-dependency/23981/5

mikulas-mrva avatar Sep 15 '23 18:09 mikulas-mrva

same as me.

Because no versions of moralis match >0.1.41,<0.2.0
 and moralis (0.1.41) depends on typing-extensions (>=4.3.0,<4.4.0), moralis (>=0.1.41,<0.2.0) requires typing-extensions (>=4.3.0,<4.4.0).
And because redis-om (0.2.1) depends on typing-extensions (>=4.4.0,<5.0.0)
 and no versions of redis-om match >0.2.1,<0.3.0, moralis (>=0.1.41,<0.2.0) is incompatible with redis-om (>=0.2.1,<0.3.0).
So, because betdog-backend depends on both redis-om (^0.2.1) and moralis (^0.1.41), version solving failed.

lalawila avatar Nov 06 '23 18:11 lalawila