Check for existing issues
What happened?
This is a follow-up to #25210.
I noticed that commit 5f63873 pins every dependency to an exact version. I wanted to flag this in case it wasn't intentional.
If litellm is still intended to be consumed as a library, exact-pinning in the package metadata can cause dependency conflicts for downstream users. The general best practice for libraries is to use loose constraints (e.g., >={version}) and test against a range of dependency versions in CI.
Exact pinning is typically reserved for pure application deployments, where a lockfile can handle transitive dependency locking and ensure reproducible Docker builds. You can still use the lockfile here to have reproducible builds for the images.
Could you clarify whether this reflects a deliberate shift in how litellm is meant to be distributed? If it was unintentional, it would be great to revert to flexible version specifiers so that library consumers aren't impacted.
Thanks for all the work on litellm — happy to help or discuss further!
Steps to Reproduce
- uv add litellm then add any dependency that is pinned not at the pinned version
Relevant log output
Using CPython 3.14.3 interpreter at: /opt/containerbase/tools/python/3.14.3/bin/python3
× No solution found when resolving dependencies for split (markers:
│ python_full_version == '3.14.3' and sys_platform == 'win32'):
╰─▶ Because litellm==1.83.3 depends on python-dotenv==1.0.1 and
api depends on litellm[proxy]==1.83.3, we can conclude
that api depends on python-dotenv==1.0.1.
And because api depends on python-dotenv==1.2.2 and
your workspace requires api, we can conclude that your
workspace's requirements are unsatisfiable.
What part of LiteLLM is this about?
SDK (litellm Python package)
What LiteLLM version are you on ?
V1.83.3
Twitter / LinkedIn details
https://linkedin.com/in/heh
Check for existing issues
What happened?
This is a follow-up to #25210.
I noticed that commit 5f63873 pins every dependency to an exact version. I wanted to flag this in case it wasn't intentional.
If litellm is still intended to be consumed as a library, exact-pinning in the package metadata can cause dependency conflicts for downstream users. The general best practice for libraries is to use loose constraints (e.g., >={version}) and test against a range of dependency versions in CI.
Exact pinning is typically reserved for pure application deployments, where a lockfile can handle transitive dependency locking and ensure reproducible Docker builds. You can still use the lockfile here to have reproducible builds for the images.
Could you clarify whether this reflects a deliberate shift in how litellm is meant to be distributed? If it was unintentional, it would be great to revert to flexible version specifiers so that library consumers aren't impacted.
Thanks for all the work on litellm — happy to help or discuss further!
Steps to Reproduce
Relevant log output
What part of LiteLLM is this about?
SDK (litellm Python package)
What LiteLLM version are you on ?
V1.83.3
Twitter / LinkedIn details
https://linkedin.com/in/heh