aurelio-labs/semantic-router

`mistralai` dependency causes dependency conflicts when used in projects with `weaviate-client` due to `httpx` >4 (using poetry)

Closed this issue · 2 comments

Hi.

We are using semantic-router and also wanted to start using Weaviate. Trying to intall weaviate-client >4 gives the following error:

Because no versions of weaviate-client match >4.5.0,<5.0.0
 and weaviate-client (4.5.0) depends on httpx (0.27.0), weaviate-client (>=4.5.0,<5.0.0) requires httpx (0.27.0).
Because mistralai (0.0.12) depends on httpx (>=0.25.2,<0.26.0)
 and no versions of mistralai match >0.0.12,<0.0.13, mistralai (>=0.0.12,<0.0.13) requires httpx (>=0.25.2,<0.26.0).
Thus, weaviate-client (>=4.5.0,<5.0.0) is incompatible with mistralai (>=0.0.12,<0.0.13).
And because semantic-router (0.0.26) depends on mistralai (>=0.0.12,<0.0.13)
 and no versions of semantic-router match >0.0.26,<0.0.27, weaviate-client (>=4.5.0,<5.0.0) is incompatible with semantic-router (>=0.0.26,<0.0.27).
So, because my-project depends on both semantic-router (^0.0.26) and weaviate-client (^4.5.0), version solving failed.

Looking at pyproject.toml, it seems there are several dependencies in the same vein as mistralai that are marked as optional. Perhaps it could be as well?

Side note: In reality, poetry should allow us to manually override dependency resolution as so many other package managers in other ecosystems, but it doesn't, and we might consider pdm for this reason.

Hi @saevarb , this requirement set currently passes constraints validation.

>> poetry show
...
semantic-router    0.0.27     Super fast semantic router for AI decision making
...
weaviate-client    4.3b2      A python native Weaviate client

Fixed by #190, closing