[Fix] Filter aioboto3 from resolver to fix boto3/aioboto3 conflict

boto3==1.42.80 and aioboto3==15.5.0 have incompatible botocore ranges.
Both uv and pip 26.0.1 reject the resolution. Fix: filter aioboto3 out
of requirements.txt at install time, then install aioboto3+aiobotocore
separately with --no-deps to bypass resolution. Removes uv-overrides.txt
which only partially addressed the conflict.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Yuneng Jiang 2026-04-01 11:57:07 -07:00
parent b7849bff56
commit fc8eb81549
No known key found for this signature in database
2 changed files with 56 additions and 35 deletions

View File

@ -34,7 +34,8 @@ commands:
command: |
python -m pip install --upgrade pip uv
# Use uv for the heavy requirements.txt (10-100x faster than pip)
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
# Use pip for test deps (small set, avoids uv strict-resolution
# conflicts with transitive dep pins like openai<2 and pydantic>=2.11.5)
pip install "pytest-mock==3.12.0" "pytest==7.3.1" "pytest-retry==1.6.3" \
@ -95,7 +96,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip uninstall fastuuid -y
pip install "mypy==1.18.2"
- run:
@ -421,7 +423,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-asyncio==0.21.1"
@ -469,7 +472,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "respx==0.22.0"
pip install "pytest-retry==1.6.3"
@ -526,7 +530,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "respx==0.22.0"
pip install "pytest-retry==1.6.3"
@ -568,7 +573,8 @@ jobs:
command: |
python -m pip install --upgrade pip uv
pip install wheel setuptools
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "respx==0.22.0"
pip install "pytest-retry==1.6.3"
@ -604,7 +610,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-asyncio==0.21.1"
@ -653,7 +660,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1" "pytest-retry==1.6.3" "pytest-cov==5.0.0" "pytest-asyncio==0.21.1" "respx==0.22.0" "pytest-xdist==3.6.1" "pytest-timeout==2.2.0" "websockets"
# Run pytest and generate JUnit XML report
- run:
@ -694,7 +702,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-cov==5.0.0"
@ -740,7 +749,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-cov==5.0.0"
@ -785,7 +795,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-cov==5.0.0"
@ -835,7 +846,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-cov==5.0.0"
@ -884,7 +896,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-asyncio==0.21.1"
@ -922,7 +935,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1" "pytest-retry==1.6.3" "pytest-cov==5.0.0" "pytest-asyncio==0.21.1" "respx==0.22.0" "pytest-xdist==3.6.1"
# Run pytest and generate JUnit XML report
- run:
@ -961,7 +975,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1" "pytest-retry==1.6.3" "pytest-cov==5.0.0" "pytest-asyncio==0.21.1" "respx==0.22.0" "pytest-xdist==3.6.1"
# Run pytest and generate JUnit XML report
- run:
@ -1040,7 +1055,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest-mock==3.12.0"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
@ -1083,7 +1099,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "respx==0.22.0"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
@ -1129,7 +1146,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install numpydoc
pip install "respx==0.22.0"
pip install "pytest==7.3.1"
@ -1178,7 +1196,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1" "pytest-retry==1.6.3" "pytest-cov==5.0.0" "pytest-asyncio==0.21.1" "respx==0.22.0" "pytest-xdist==3.6.1"
# Run pytest and generate JUnit XML report
- run:
@ -1218,7 +1237,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-cov==5.0.0"
@ -1251,7 +1271,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-cov==5.0.0"
@ -1303,7 +1324,8 @@ jobs:
name: Install Dependencies
command: |
python -m pip install --upgrade pip uv
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-cov==5.0.0"
@ -1383,7 +1405,8 @@ jobs:
command: |
python -m pip install --upgrade pip uv
pip install wheel setuptools
uv pip install --system --override uv-overrides.txt -r requirements.txt
grep -v '^aioboto3' requirements.txt | uv pip install --system -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-asyncio==0.21.1"
@ -2146,7 +2169,8 @@ jobs:
pip install "pytest-asyncio==0.21.1"
pip install aiohttp
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
grep -v '^aioboto3' requirements.txt | python -m pip install -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
- run:
name: Install dockerize
command: |
@ -2258,7 +2282,8 @@ jobs:
pip install "pytest-asyncio==0.21.1"
pip install aiohttp
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
grep -v '^aioboto3' requirements.txt | python -m pip install -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-mock==3.12.0"
@ -2396,7 +2421,8 @@ jobs:
pip install "pytest-asyncio==0.21.1"
pip install aiohttp
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
grep -v '^aioboto3' requirements.txt | python -m pip install -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
pip install "pytest==7.3.1"
pip install "pytest-retry==1.6.3"
pip install "pytest-mock==3.12.0"
@ -2637,7 +2663,8 @@ jobs:
pip install "langchain_openai==0.2.1"
pip install "langgraph==0.3.18"
pip install "fastuuid==0.13.5"
pip install -r requirements.txt
grep -v '^aioboto3' requirements.txt | pip install -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
- run:
name: Install dockerize
command: |
@ -2802,7 +2829,8 @@ jobs:
pip install "boto3==1.42.80"
pip install "httpx==0.27.0"
pip install "claude-agent-sdk"
pip install -r requirements.txt
grep -v '^aioboto3' requirements.txt | pip install -r -
pip install --no-deps "aioboto3==15.5.0" "aiobotocore==2.25.1"
- run:
name: Install dockerize
command: |

View File

@ -1,7 +0,0 @@
# Override aiobotocore's strict boto3/botocore pins (<1.40.62) so they
# can coexist with boto3==1.42.80 (which requires botocore>=1.42.80).
# No aioboto3/aiobotocore release yet supports boto3/botocore 1.42.x.
# pip's lenient resolver handles this (Docker builds), but uv's strict
# resolver rejects it — these overrides bridge the gap for CI.
boto3>=1.42.80,<1.43.0
botocore>=1.42.80,<1.43.0