chroma icon indicating copy to clipboard operation
chroma copied to clipboard

[Install issue]: uv can't add chromadb==v1.0.3 when fastapi==0.115.12 is already a dependency

Open AbelCS opened this issue 8 months ago • 4 comments

What happened?

I've just started a new FastAPI project with uv and added fastaapi[standard], this added fastapi==0.155.12.

When I'm trying to uv add chromadb==v1.0.3 I get this:

  × No solution found when resolving dependencies for split (python_full_version >= '3.13'):
  ╰─▶ Because chromadb==1.0.3 depends on fastapi==0.115.9 and only fastapi[standard]<=0.115.12 is available, we can conclude that chromadb==1.0.3 and fastapi[standard]>=0.115.12
      are incompatible.
      And because your project depends on chromadb==1.0.3 and fastapi[standard]>=0.115.12, we can conclude that your project's requirements are unsatisfiable.
  help: If you want to add the package regardless of the failed resolution, provide the `--frozen` flag to skip locking and syncing.

I think this could be solved replacing https://github.com/chroma-core/chroma/blob/54d858bf25cad66a9d644fface71c59b69e348da/requirements.txt#L3

with

fastapi>=0.115.9 or maybe fastapi~=0.155.9

I'm new to Python, so the solution I'm proposing might not be viable for some reason I'm not aware of.

If this could solve the problem I can fill a PR, if not, and you can give me any solution/workaround I would really appreciate it.

Thanks!

Versions

Chroma v1.0.3 FastAPI v0.155.12 Python 3.12.9 uv 0.6.13 MacOS 15.4

Relevant log output


AbelCS avatar Apr 09 '25 15:04 AbelCS

It's really weird (to say the least) to gain a pinned dependency to fastapi, when all we're using is a local embedding database.

Maybe this should be made optional in an extras package, since it's in no way related to the core functionality?

vladiliescu avatar Apr 10 '25 13:04 vladiliescu

yea sorry about that you can find more context on why here https://github.com/chroma-core/chroma/pull/3872 will fix

jairad26 avatar Apr 11 '25 19:04 jairad26

@jairad26 when we remove the python from the codebase will this go away?

jeffchuber avatar Apr 16 '25 00:04 jeffchuber

yep, once we remove all fastapi dependencies (existing python implementation + their tests)

jairad26 avatar Apr 18 '25 16:04 jairad26