Skip to content

Bump uvloop from 0.21.0 to 0.22.1#22281

Open
boramalper wants to merge 3 commits intoBerriAI:mainfrom
boramalper:bora/bump-uvloop
Open

Bump uvloop from 0.21.0 to 0.22.1#22281
boramalper wants to merge 3 commits intoBerriAI:mainfrom
boramalper:bora/bump-uvloop

Conversation

@boramalper
Copy link

@boramalper boramalper commented Feb 27, 2026

Relevant issues

Fixes #20933

Pre-Submission checklist

Please complete all items before asking a LiteLLM maintainer to review your PR

  • I have Added testing in the tests/litellm/ directory, Adding at least 1 test is a hard requirement - see details (not applicable)

  • My PR passes all unit tests on make test-unit

    4 existing errors
    =============================================================================== ERRORS ================================================================================
    ____________________________________________________ ERROR collecting tests/test_litellm/proxy/client/test_chat.py ____________________________________________________
    tests/test_litellm/proxy/client/test_chat.py:130: in <module>
        @responses.activate
    E   AttributeError: module 'responses' has no attribute 'activate'
    ____________________________________________________ ERROR collecting tests/test_litellm/proxy/client/test_chat.py ____________________________________________________
    tests/test_litellm/proxy/client/test_chat.py:130: in <module>
        @responses.activate
    E   AttributeError: module 'responses' has no attribute 'activate'
    ____________________________________________________ ERROR collecting tests/test_litellm/proxy/client/test_chat.py ____________________________________________________
    tests/test_litellm/proxy/client/test_chat.py:130: in <module>
        @responses.activate
    E   AttributeError: module 'responses' has no attribute 'activate'
    ____________________________________________________ ERROR collecting tests/test_litellm/proxy/client/test_chat.py ____________________________________________________
    tests/test_litellm/proxy/client/test_chat.py:130: in <module>
        @responses.activate
    E   AttributeError: module 'responses' has no attribute 'activate'
    
  • My PR's scope is as isolated as possible, it only solves 1 specific problem

  • I have requested a Greptile review by commenting @greptileai and received a Confidence Score of at least 4/5 before requesting a maintainer review

CI (LiteLLM team)

CI status guideline:

  • 50-55 passing tests: main is stable with minor issues.
  • 45-49 passing tests: acceptable but needs attention
  • <= 40 passing tests: unstable; be careful with your merges and assess the risk.
  • Branch creation CI run
    Link:

  • CI run for the last commit
    Link:

  • Merge / cherry-pick CI run
    Links:

Type

🐛 Bug Fix

Changes

Bump uvloop from 0.21.0 to 0.22.1

@vercel
Copy link

vercel bot commented Feb 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
litellm Ready Ready Preview, Comment Feb 27, 2026 0:31am

Request Review

@CLAassistant
Copy link

CLAassistant commented Feb 27, 2026

CLA assistant check
All committers have signed the CLA.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 27, 2026

Greptile Summary

Bumps uvloop from 0.21.0 to 0.22.1 across all dependency files (pyproject.toml, requirements.txt, .circleci/requirements.txt, .circleci/config.yml) and regenerates poetry.lock. This addresses issue #20933.

  • All four configuration/dependency files are consistently updated to uvloop 0.22.1
  • poetry.lock was properly regenerated, including updated wheel hashes and a minor transitive dependency bump (litellm-proxy-extras 0.4.48 → 0.4.49)
  • Minor trailing whitespace cleanup in .circleci/requirements.txt and .circleci/config.yml
  • No code changes needed — uvloop is consumed as a drop-in event loop via uvicorn's loop parameter in litellm/proxy/proxy_cli.py

Confidence Score: 5/5

  • This PR is safe to merge — it is a straightforward, consistent dependency version bump with no code changes.
  • The change is limited to bumping a single dependency version (uvloop 0.21.0 → 0.22.1) consistently across all four configuration files, with a properly regenerated lock file. No application code is modified. uvloop is used as a drop-in event loop replacement via uvicorn, so the upgrade is fully backward-compatible.
  • No files require special attention.

Important Files Changed

Filename Overview
pyproject.toml Bumps uvloop version constraint from ^0.21.0 to ^0.22.1. Straightforward dependency version bump.
requirements.txt Pins uvloop to 0.22.1 (from 0.21.0), consistent with pyproject.toml change.
.circleci/requirements.txt Pins uvloop to 0.22.1 for CI, with minor trailing whitespace cleanup. Also adds a trailing newline.
.circleci/config.yml Updates uvloop pip install to 0.22.1, with minor trailing whitespace cleanup in an unrelated section.
poetry.lock Auto-regenerated lock file reflecting uvloop 0.22.1 with updated hashes for all platform wheels. Also picks up a minor litellm-proxy-extras bump (0.4.48 → 0.4.49).

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[pyproject.toml] -->|"uvloop ^0.22.1"| B[poetry.lock]
    B -->|"resolves to 0.22.1"| C[poetry install]
    D[requirements.txt] -->|"uvloop==0.22.1"| E[Docker Build]
    F[.circleci/requirements.txt] -->|"uvloop==0.22.1"| G[CI Tests]
    H[.circleci/config.yml] -->|"pip install uvloop==0.22.1"| I[CI Job: test_custom_llm_router]
    C --> J[uvicorn --loop uvloop]
    E --> J
    G --> J
    I --> J
    J --> K[LiteLLM Proxy Server]
Loading

Last reviewed commit: 14696d5

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

5 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile


uvicorn = {version = ">=0.32.1,<1.0.0", optional = true}
uvloop = {version = "^0.21.0", optional = true, markers="sys_platform != 'win32'"}
uvloop = {version = "^0.22.1", optional = true, markers="sys_platform != 'win32'"}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Version not updated in other files

The uvloop version was bumped in pyproject.toml but several other files still pin 0.21.0:

  • requirements.txt:21uvloop==0.21.0
  • .circleci/requirements.txt:15uvloop==0.21.0
  • .circleci/config.yml:2202pip install "uvloop==0.21.0"

Additionally, poetry.lock still resolves to uvloop 0.21.0 and was not regenerated as part of this PR. Running poetry lock (or poetry update uvloop) is needed so that poetry install actually pulls in the new version.

Without updating these files, the Docker image (which uses requirements.txt) and CI (which uses .circleci/requirements.txt and config.yml) will continue installing 0.21.0, meaning the fix from #20933 won't actually be deployed.

@boramalper
Copy link
Author

Addressed the feedback, please take another look.

@greptileai

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

LiteLLM Proxy fails to start on Python 3.14 due to uvloop incompatibility

2 participants