Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: v1.57.5 broke Windows compatibility on litellm cli proxy #7677

Closed
EDM115 opened this issue Jan 10, 2025 · 10 comments · Fixed by #7679
Closed

[Bug]: v1.57.5 broke Windows compatibility on litellm cli proxy #7677

EDM115 opened this issue Jan 10, 2025 · 10 comments · Fixed by #7679
Assignees
Labels
bug Something isn't working

Comments

@EDM115
Copy link

EDM115 commented Jan 10, 2025

What happened?

In v1.57.5 uvloop has been introduced as a dependency of litellm (#7662).
However, uvloop is not compatible with Windows (see MagicStack/uvloop#14).
This should have been at the very least be noted as a Breaking change, as it is impacting other users (#7662 (comment)).

Is uvloop a definitive requirement moving forward ? If so, there should be a mention in the README about Windows incompatibility for >=v1.57.5.
Else, the change could just be reverted.

Relevant log output

Package update operation for Package=litellm with Manager=Pip
Installation options: <InstallationOptions: SkipHashCheck=False;InteractiveInstallation=False;RunAsAdministrator=False;Version=;Architecture=;InstallationScope=;InstallationScope=;CustomParameters=;RemoveDataOnUninstall=False>
Executing process with StartInfo:
 - FileName: "D:\EDM115\Programmes\Python312\python.exe"
 - Arguments: "-m pip install --upgrade litellm --no-input --no-color --no-python-version-warning --no-cache"
Start Time: "10/01/2025 20:51:53"
Requirement already satisfied: litellm in d:\edm115\programmes\python312\lib\site-packages (1.56.10)
Collecting litellm
Downloading litellm-1.57.5-py3-none-any.whl.metadata (36 kB)
Requirement already satisfied: aiohttp in d:\edm115\programmes\python312\lib\site-packages (from litellm) (3.11.11)
Requirement already satisfied: click in d:\edm115\programmes\python312\lib\site-packages (from litellm) (8.1.8)
Collecting httpx<0.28.0,>=0.23.0 (from litellm)
Downloading httpx-0.27.2-py3-none-any.whl.metadata (7.1 kB)
Requirement already satisfied: importlib-metadata>=6.8.0 in d:\edm115\programmes\python312\lib\site-packages (from litellm) (8.5.0)
Requirement already satisfied: jinja2<4.0.0,>=3.1.2 in d:\edm115\programmes\python312\lib\site-packages (from litellm) (3.1.5)
Requirement already satisfied: jsonschema<5.0.0,>=4.22.0 in d:\edm115\programmes\python312\lib\site-packages (from litellm) (4.23.0)
Requirement already satisfied: openai>=1.55.3 in d:\edm115\programmes\python312\lib\site-packages (from litellm) (1.59.6)
Requirement already satisfied: pydantic<3.0.0,>=2.0.0 in d:\edm115\programmes\python312\lib\site-packages (from litellm) (2.10.5)
Requirement already satisfied: python-dotenv>=0.2.0 in d:\edm115\programmes\python312\lib\site-packages (from litellm) (1.0.1)
Requirement already satisfied: tiktoken>=0.7.0 in d:\edm115\programmes\python312\lib\site-packages (from litellm) (0.8.0)
Requirement already satisfied: tokenizers in d:\edm115\programmes\python312\lib\site-packages (from litellm) (0.21.0)
Collecting uvloop<0.22.0,>=0.21.0 (from litellm)
Downloading uvloop-0.21.0.tar.gz (2.5 MB)
---------------------------------------- 2.5/2.5 MB 534.7 kB/s eta 0:00:00
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [18 lines of output]
Traceback (most recent call last):
File "D:\EDM115\Programmes\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
main()
File "D:\EDM115\Programmes\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\EDM115\Programmes\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\EDM115\AppData\Local\Temp\pip-build-env-p7dbrtzq\overlay\Lib\site-packages\setuptools\build_meta.py", line 334, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\EDM115\AppData\Local\Temp\pip-build-env-p7dbrtzq\overlay\Lib\site-packages\setuptools\build_meta.py", line 304, in _get_build_requires
self.run_setup()
File "C:\Users\EDM115\AppData\Local\Temp\pip-build-env-p7dbrtzq\overlay\Lib\site-packages\setuptools\build_meta.py", line 320, in run_setup
exec(code, locals())
File "<string>", line 8, in <module>
RuntimeError: uvloop does not support Windows at the moment
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
End Time: "10/01/2025 20:52:23"
Process return value: "1" (0x1)
Litellm could not be updated

Are you a ML Ops Team?

No

What LiteLLM version are you on ?

v1.57.5

Twitter / LinkedIn details

@_EDM115 / https://www.linkedin.com/in/edm115

@EDM115 EDM115 added the bug Something isn't working label Jan 10, 2025
@ishaan-jaff ishaan-jaff self-assigned this Jan 10, 2025
@ishaan-jaff
Copy link
Contributor

@EDM115 i'm sorry about that, we could have done a better job around this

are you seeing this on the litellm proxy server or python SDK ?

@ishaan-jaff
Copy link
Contributor

ishaan-jaff commented Jan 10, 2025

As a note this is only a optional dep - curious how did this impact you ?

uvloop = {version = "^0.21.0", optional = true}

@krrishdholakia krrishdholakia changed the title [Bug]: v1.57.5 broke Windows compatibility [Bug]: v1.57.5 broke Windows compatibility on litellm cli proxy Jan 10, 2025
@krrishdholakia
Copy link
Contributor

i'll add a dependency test to ensure no unexpected deps get added to core sdk.

Thanks for the ticket @EDM115

@ishaan-jaff
Copy link
Contributor

should be fixed here: 4c608a1

I've queued a new release

@ishaan-jaff
Copy link
Contributor

Screenshot 2025-01-10 at 1 52 40 PM

tested with a dev release of pip, confirmed fix worked

@ishaan-jaff
Copy link
Contributor

ishaan-jaff commented Jan 10, 2025

To litellm users impacted by this: sorry for the issue, will update this thread on how we are improving our testing to avoid issues like this in the future

Status

New release with fix is queued up

@axiomofjoy
Copy link

Thanks for the quick fix @ishaan-jaff !

@ishaan-jaff
Copy link
Contributor

fixed here : https://pypi.org/project/litellm/1.57.7/

cc @axiomofjoy, @EDM115

@ishaan-jaff
Copy link
Contributor

We've also added a test here to ensure we don't add an optional dependency as required

74f9b2e

krrishdholakia added a commit that referenced this issue Jan 11, 2025
* test(test_basic_python_version.py): assert all optional dependencies are marked as extras on poetry

Fixes #7677

* docs(secret.md): clarify 'read_and_write' secret manager usage on aws

* docs(secret.md): fix doc

* build(ui/teams.tsx): add edit/delete button for updating user / team membership on ui

allows updating user role to admin on ui

* build(ui/teams.tsx): display edit member component on ui, when edit button on member clicked

* feat(team_endpoints.py): support updating team member role to admin via api endpoints

allows team member to become admin post-add

* build(ui/user_dashboard.tsx): if team admin - show all team keys

Fixes #7650

* test(config.yml): add tomli to ci/cd

* test: don't call python_basic_testing in local testing (covered by python 3.13 testing)
@EDM115
Copy link
Author

EDM115 commented Jan 12, 2025

thanks for the fix guys :)

rajatvig pushed a commit to rajatvig/litellm that referenced this issue Jan 16, 2025
* test(test_basic_python_version.py): assert all optional dependencies are marked as extras on poetry

Fixes BerriAI#7677

* docs(secret.md): clarify 'read_and_write' secret manager usage on aws

* docs(secret.md): fix doc

* build(ui/teams.tsx): add edit/delete button for updating user / team membership on ui

allows updating user role to admin on ui

* build(ui/teams.tsx): display edit member component on ui, when edit button on member clicked

* feat(team_endpoints.py): support updating team member role to admin via api endpoints

allows team member to become admin post-add

* build(ui/user_dashboard.tsx): if team admin - show all team keys

Fixes BerriAI#7650

* test(config.yml): add tomli to ci/cd

* test: don't call python_basic_testing in local testing (covered by python 3.13 testing)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants