Switch from pip to uv (#529)

* Replace pip by more modern uv

* uv tests

* update yaml

* update yaml

* update yaml

* update flake8

* update windows commands

* fix windows test

* windows fix

* windows fix

* windows fix

* windows fix

* windows fix

* windows fix

* windows fix

* windows fix

* windows fix

* windows fix
This commit is contained in:
Sebastian Raschka
2025-02-15 13:13:13 -06:00
committed by GitHub
parent e818be42e1
commit 4ab8719e9d
10 changed files with 250 additions and 38 deletions

View File

@@ -33,12 +33,17 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest nbval
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
pip install uv
uv venv --python=python3.10
source .venv/bin/activate
uv pip install pytest nbval
if [ -f requirements.txt ]; then uv pip install -r requirements.txt; fi
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
uv pip install pytest
- name: Test Selected Python Scripts
run: |
source .venv/bin/activate
pytest setup/02_installing-python-libraries/tests.py
pytest ch04/01_main-chapter-code/tests.py
pytest ch05/01_main-chapter-code/tests.py
@@ -47,6 +52,7 @@ jobs:
- name: Validate Selected Jupyter Notebooks
run: |
source .venv/bin/activate
pytest --nbval ch02/01_main-chapter-code/dataloader.ipynb
pytest --nbval ch03/01_main-chapter-code/multihead-attention.ipynb
pytest --nbval ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb

View File

@@ -33,12 +33,17 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest nbval
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
pip install uv
uv venv --python=python3.10
source .venv/bin/activate
uv pip install pytest nbval
if [ -f requirements.txt ]; then uv pip install -r requirements.txt; fi
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
uv pip install pytest
- name: Test Selected Python Scripts
run: |
source .venv/bin/activate
pytest setup/02_installing-python-libraries/tests.py
pytest ch04/01_main-chapter-code/tests.py
pytest ch05/01_main-chapter-code/tests.py
@@ -47,6 +52,7 @@ jobs:
- name: Validate Selected Jupyter Notebooks
run: |
source .venv/bin/activate
pytest --nbval ch02/01_main-chapter-code/dataloader.ipynb
pytest --nbval ch03/01_main-chapter-code/multihead-attention.ipynb
pytest --nbval ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb

View File

@@ -36,13 +36,18 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
pip install pytest nbval
pip install torch==${{ matrix.pytorch-version }}
pip install -r requirements.txt
pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
pip install uv
uv venv --python=python3.10
source .venv/bin/activate
uv pip install pytest nbval
uv pip install torch==${{ matrix.pytorch-version }}
uv pip install -r requirements.txt
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
uv pip install pytest
- name: Test Selected Python Scripts
run: |
source .venv/bin/activate
pytest setup/02_installing-python-libraries/tests.py
pytest ch04/01_main-chapter-code/tests.py
pytest ch05/01_main-chapter-code/tests.py
@@ -51,6 +56,7 @@ jobs:
- name: Validate Selected Jupyter Notebooks
run: |
source .venv/bin/activate
pytest --nbval ch02/01_main-chapter-code/dataloader.ipynb
pytest --nbval ch03/01_main-chapter-code/multihead-attention.ipynb
pytest --nbval ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb

View File

@@ -32,13 +32,18 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest nbval
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
pip install uv
uv venv --python=python3.10
source .venv/bin/activate
uv pip install pytest nbval
if [ -f requirements.txt ]; then uv pip install -r requirements.txt; fi
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
uv pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
uv pip install pytest
- name: Test Selected Python Scripts
run: |
source .venv/bin/activate
pytest setup/02_installing-python-libraries/tests.py
pytest ch04/01_main-chapter-code/tests.py
pytest ch05/01_main-chapter-code/tests.py
@@ -47,6 +52,7 @@ jobs:
- name: Validate Selected Jupyter Notebooks
run: |
source .venv/bin/activate
pytest --nbval ch02/01_main-chapter-code/dataloader.ipynb
pytest --nbval ch03/01_main-chapter-code/multihead-attention.ipynb
pytest --nbval ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb

View File

@@ -54,4 +54,4 @@ jobs:
run: |
pytest --nbval ch02/01_main-chapter-code/dataloader.ipynb
pytest --nbval ch03/01_main-chapter-code/multihead-attention.ipynb
pytest --nbval ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb
pytest --nbval ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb

View File

@@ -23,12 +23,17 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest pytest-check-links
pip install uv
uv venv --python=python3.10
source .venv/bin/activate
uv pip install pytest pytest-check-links
# Current version of retry doesn't work well if there are broken non-URL links
# pip install pytest pytest-check-links pytest-retry
uv pip install pytest pytest-check-links
- name: Check links
run: |
source .venv/bin/activate
pytest --check-links ./ --check-links-ignore "https://platform.openai.com/*" --check-links-ignore "https://openai.com/*" --check-links-ignore "https://arena.lmsys.org" --check-links-ignore https://unsloth.ai/blog/gradient --check-links-ignore "https://www.reddit.com/r/*" --check-links-ignore "https://code.visualstudio.com/*" --check-links-ignore https://arxiv.org/* --check-links-ignore "https://ai.stanford.edu/~amaas/data/sentiment/"
# pytest --check-links ./ --check-links-ignore "https://platform.openai.com/*" --check-links-ignore "https://arena.lmsys.org" --retries 2 --retry-delay 5

View File

@@ -23,8 +23,12 @@ jobs:
- name: Install codespell
run: |
python -m pip install --upgrade pip
pip install codespell
pip install uv
uv venv --python=python3.10
source .venv/bin/activate
uv pip install codespell
- name: Run codespell
run: |
source .venv/bin/activate
codespell -L "ocassion,occassion,ot,te,tje" **/*.{txt,md,py,ipynb}

View File

@@ -16,6 +16,14 @@ jobs:
with:
python-version: '3.10'
- name: Install flake8
run: pip install flake8
run: |
python -m pip install --upgrade pip
pip install uv
uv venv --python=python3.10
source .venv/bin/activate
uv pip install flake8
- name: Run flake8 with exceptions
run: flake8 . --max-line-length=140 --ignore=W504,E402,E731,C406,E741,E722,E226
run: |
source .venv/bin/activate
flake8 . --max-line-length=140 --ignore=W504,E402,E731,C406,E741,E722,E226 --exclude .venv