@@ -50,13 +50,10 @@ jobs:
5050 runs-on : ubuntu-latest
5151 timeout-minutes : 60
5252 steps :
53- - name : Setup Python
54- uses : actions /setup-python@v5
53+ - name : Install the latest version of uv
54+ uses : astral-sh /setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
5555 with :
5656 python-version : ${{ matrix.python-version }}
57- allow-prereleases : true
58- - name : Install uv
59- run : curl -LsSf https://astral.sh/uv/install.sh | sh
6057 - name : Checkout pydantic
6158 run : git clone --depth=1 https://github.com/pydantic/pydantic.git || git clone --depth=1 https://github.com/pydantic/pydantic.git
6259 - name : Checkout typing_extensions
@@ -83,12 +80,10 @@ jobs:
8380 runs-on : ubuntu-latest
8481 timeout-minutes : 60
8582 steps :
86- - name : Setup Python
87- uses : actions /setup-python@v5
83+ - name : Install the latest version of uv
84+ uses : astral-sh /setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
8885 with :
8986 python-version : ${{ matrix.python-version }}
90- - name : Install uv
91- run : curl -LsSf https://astral.sh/uv/install.sh | sh
9287 - name : Checkout typing_inspect
9388 run : git clone --depth=1 https://github.com/ilevkivskyi/typing_inspect.git || git clone --depth=1 https://github.com/ilevkivskyi/typing_inspect.git
9489 - name : Checkout typing_extensions
@@ -100,15 +95,15 @@ jobs:
10095 run : |
10196 set -x
10297 cd typing_inspect
103- uv pip install --system -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
98+ uv venv .venv
99+ uv pip install -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
104100 - name : Install typing_extensions latest
105- run : uv pip install --system "typing-extensions @ ./typing-extensions-latest"
101+ run : cd typing_inspect; uv pip install "typing-extensions @ . ./typing-extensions-latest"
106102 - name : List all installed dependencies
107- run : uv pip freeze
103+ run : cd typing_inspect; uv pip freeze
108104 - name : Run typing_inspect tests
109105 run : |
110- cd typing_inspect
111- pytest
106+ cd typing_inspect; uv run --no-project pytest
112107
113108 pycroscope :
114109 name : pycroscope tests
@@ -120,13 +115,10 @@ jobs:
120115 runs-on : ubuntu-latest
121116 timeout-minutes : 60
122117 steps :
123- - name : Setup Python
124- uses : actions /setup-python@v5
118+ - name : Install the latest version of uv
119+ uses : astral-sh /setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
125120 with :
126121 python-version : ${{ matrix.python-version }}
127- allow-prereleases : true
128- - name : Install uv
129- run : curl -LsSf https://astral.sh/uv/install.sh | sh
130122 - name : Check out pycroscope
131123 run : git clone --depth=1 https://github.com/JelleZijlstra/pycroscope.git || git clone --depth=1 https://github.com/JelleZijlstra/pycroscope.git
132124 - name : Checkout typing_extensions
@@ -138,15 +130,15 @@ jobs:
138130 run : |
139131 set -x
140132 cd pycroscope
141- uv pip install --system 'pycroscope[tests] @ .' --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
133+ uv venv .venv
134+ uv pip install 'pycroscope[tests] @ .' --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
142135 - name : Install typing_extensions latest
143- run : uv pip install --system "typing-extensions @ ./typing-extensions-latest"
136+ run : cd pycroscope; uv pip install "typing-extensions @ . ./typing-extensions-latest"
144137 - name : List all installed dependencies
145- run : uv pip freeze
138+ run : cd pycroscope; uv pip freeze
146139 - name : Run pycroscope tests
147140 run : |
148- cd pycroscope
149- pytest pycroscope/
141+ cd pycroscope; uv run --no-project pytest pycroscope/
150142
151143 typeguard :
152144 name : typeguard tests
@@ -158,13 +150,10 @@ jobs:
158150 runs-on : ubuntu-latest
159151 timeout-minutes : 60
160152 steps :
161- - name : Setup Python
162- uses : actions /setup-python@v5
153+ - name : Install the latest version of uv
154+ uses : astral-sh /setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
163155 with :
164156 python-version : ${{ matrix.python-version }}
165- allow-prereleases : true
166- - name : Install uv
167- run : curl -LsSf https://astral.sh/uv/install.sh | sh
168157 - name : Check out typeguard
169158 run : git clone --depth=1 https://github.com/agronholm/typeguard.git || git clone --depth=1 https://github.com/agronholm/typeguard.git
170159 - name : Checkout typing_extensions
@@ -176,16 +165,16 @@ jobs:
176165 run : |
177166 set -x
178167 cd typeguard
179- uv pip install --system "typeguard @ ." --group test --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
168+ uv venv .venv
169+ uv pip install "typeguard @ ." --group test --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
180170 - name : Install typing_extensions latest
181- run : uv pip install --system "typing-extensions @ ./typing-extensions-latest"
171+ run : cd typeguard; uv pip install "typing-extensions @ . ./typing-extensions-latest"
182172 - name : List all installed dependencies
183- run : uv pip freeze
173+ run : cd typeguard; uv pip freeze
184174 - name : Run typeguard tests
185175 run : |
186- cd typeguard
187176 export PYTHON_COLORS=0 # A test fails if tracebacks are colorized
188- pytest
177+ cd typeguard; uv run --no-project pytest
189178
190179 typed-argument-parser :
191180 name : typed-argument-parser tests
@@ -197,12 +186,10 @@ jobs:
197186 runs-on : ubuntu-latest
198187 timeout-minutes : 60
199188 steps :
200- - name : Setup Python
201- uses : actions /setup-python@v5
189+ - name : Install the latest version of uv
190+ uses : astral-sh /setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
202191 with :
203192 python-version : ${{ matrix.python-version }}
204- - name : Install uv
205- run : curl -LsSf https://astral.sh/uv/install.sh | sh
206193 - name : Check out typed-argument-parser
207194 run : git clone --depth=1 https://github.com/swansonk14/typed-argument-parser.git || git clone --depth=1 https://github.com/swansonk14/typed-argument-parser.git
208195 - name : Checkout typing_extensions
@@ -220,16 +207,16 @@ jobs:
220207 run : |
221208 set -x
222209 cd typed-argument-parser
223- uv pip install --system "typed-argument-parser @ ." --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
224- uv pip install --system pytest --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
210+ uv venv .venv
211+ uv pip install "typed-argument-parser @ ." --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
212+ uv pip install pytest --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
225213 - name : Install typing_extensions latest
226- run : uv pip install --system "typing-extensions @ ./typing-extensions-latest"
214+ run : cd typed-argument-parser; uv pip install "typing-extensions @ . ./typing-extensions-latest"
227215 - name : List all installed dependencies
228- run : uv pip freeze
216+ run : cd typed-argument-parser; uv pip freeze
229217 - name : Run typed-argument-parser tests
230218 run : |
231- cd typed-argument-parser
232- pytest
219+ cd typed-argument-parser; uv run --no-project pytest
233220
234221 mypy :
235222 name : stubtest & mypyc tests
@@ -241,13 +228,10 @@ jobs:
241228 runs-on : ubuntu-latest
242229 timeout-minutes : 60
243230 steps :
244- - name : Setup Python
245- uses : actions /setup-python@v5
231+ - name : Install the latest version of uv
232+ uses : astral-sh /setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
246233 with :
247234 python-version : ${{ matrix.python-version }}
248- allow-prereleases : true
249- - name : Install uv
250- run : curl -LsSf https://astral.sh/uv/install.sh | sh
251235 - name : Checkout mypy for stubtest and mypyc tests
252236 run : git clone --depth=1 https://github.com/python/mypy.git || git clone --depth=1 https://github.com/python/mypy.git
253237 - name : Checkout typing_extensions
@@ -259,16 +243,16 @@ jobs:
259243 run : |
260244 set -x
261245 cd mypy
262- uv pip install --system -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
263- uv pip install --system -e .
246+ uv venv .venv
247+ uv pip install -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
248+ uv pip install -e .
264249 - name : Install typing_extensions latest
265- run : uv pip install --system "typing-extensions @ ./typing-extensions-latest"
250+ run : cd mypy; uv pip install "typing-extensions @ . ./typing-extensions-latest"
266251 - name : List all installed dependencies
267- run : uv pip freeze
252+ run : cd mypy; uv pip freeze
268253 - name : Run stubtest & mypyc tests
269254 run : |
270- cd mypy
271- pytest -n 2 ./mypy/test/teststubtest.py ./mypyc/test/test_run.py ./mypyc/test/test_external.py
255+ cd mypy; uv run --no-project pytest -n 2 ./mypy/test/teststubtest.py ./mypyc/test/test_run.py ./mypyc/test/test_external.py
272256
273257 cattrs :
274258 name : cattrs tests
@@ -280,8 +264,8 @@ jobs:
280264 runs-on : ubuntu-latest
281265 timeout-minutes : 60
282266 steps :
283- - name : Setup Python
284- uses : actions /setup-python@v5
267+ - name : Install the latest version of uv
268+ uses : astral-sh /setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
285269 with :
286270 python-version : ${{ matrix.python-version }}
287271 - name : Checkout cattrs
@@ -291,19 +275,14 @@ jobs:
291275 with :
292276 path : typing-extensions-latest
293277 persist-credentials : false
294- - name : Install pdm for cattrs
295- run : pip install pdm
296- - name : Add latest typing-extensions as a dependency
297- run : |
298- cd cattrs
299- pdm remove typing-extensions
300- pdm add --dev ../typing-extensions-latest
301- - name : Install cattrs test dependencies
302- run : cd cattrs; pdm install --dev -G :all
303- - name : List all installed dependencies
304- run : cd cattrs; pdm list -vv
305- - name : Run cattrs tests
306- run : cd cattrs; pdm run pytest tests
278+ - name : Add local version of typing_extensions as a dependency
279+ run : cd cattrs; uv add --editable ../typing-extensions-latest
280+ - name : Install test dependencies
281+ run : cd cattrs; uv sync --group test --all-extras
282+ - name : List installed dependencies
283+ run : cd cattrs; uv pip list
284+ - name : Run tests
285+ run : cd cattrs; uv run pytest tests
307286
308287 sqlalchemy :
309288 name : sqlalchemy tests
@@ -320,32 +299,21 @@ jobs:
320299 runs-on : ubuntu-22.04
321300 timeout-minutes : 60
322301 steps :
323- - name : Setup Python
324- uses : actions /setup-python@v5
302+ - name : Install the latest version of uv
303+ uses : astral-sh /setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
325304 with :
326305 python-version : ${{ matrix.python-version }}
327- allow-prereleases : true
328- - name : Install uv
329- run : curl -LsSf https://astral.sh/uv/install.sh | sh
330306 - name : Checkout sqlalchemy
331307 run : git clone -b ${{ matrix.checkout-ref }} --depth=1 https://github.com/sqlalchemy/sqlalchemy.git || git clone -b ${{ matrix.checkout-ref }} --depth=1 https://github.com/sqlalchemy/sqlalchemy.git
332308 - name : Checkout typing_extensions
333309 uses : actions/checkout@v4
334310 with :
335311 path : typing-extensions-latest
336312 persist-credentials : false
337- - name : Install sqlalchemy test dependencies
338- run : uv pip install --system tox setuptools
339- - name : List installed dependencies
340- # Note: tox installs SQLAlchemy and its dependencies in a different isolated
341- # environment before running the tests. To see the dependencies installed
342- # in the test environment, look for the line 'freeze> python -m pip freeze --all'
343- # in the output of the test step below.
344- run : uv pip list
345313 - name : Run sqlalchemy tests
346314 run : |
347315 cd sqlalchemy
348- tox -e github-nocext \
316+ uvx --with setuptools tox -e github-nocext \
349317 --force-dep "typing-extensions @ file://$(pwd)/../typing-extensions-latest" \
350318 -- -q --nomemory --notimingintensive
351319
@@ -360,8 +328,8 @@ jobs:
360328 matrix :
361329 python-version : [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
362330 steps :
363- - name : Setup Python
364- uses : actions /setup-python@v5
331+ - name : Install the latest version of uv
332+ uses : astral-sh /setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
365333 with :
366334 python-version : ${{ matrix.python-version }}
367335 - name : Checkout litestar
@@ -371,8 +339,6 @@ jobs:
371339 with :
372340 path : typing-extensions-latest
373341 persist-credentials : false
374- - name : Install uv
375- run : curl -LsSf https://astral.sh/uv/install.sh | sh
376342 - name : Run litestar tests
377343 run : uv run --with=../typing-extensions-latest -- python -m pytest tests/unit/test_typing.py tests/unit/test_dto
378344 working-directory : litestar
0 commit comments