[Install issue]: uv can't add chromadb==v1.0.3 when fastapi==0.115.12 is already a dependency
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
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?
yea sorry about that you can find more context on why here https://github.com/chroma-core/chroma/pull/3872 will fix
@jairad26 when we remove the python from the codebase will this go away?
yep, once we remove all fastapi dependencies (existing python implementation + their tests)