mirror of
https://github.com/rasbt/LLMs-from-scratch.git
synced 2026-04-10 12:33:42 +00:00
Test dependencies with Python 3.13 (#843)
* Custom python 3.13 entry in pyproject.toml * amend * update * update * update * Update pyproject.toml * Update pyproject.toml * Update pyproject.toml * update
This commit is contained in:
committed by
GitHub
parent
47867bc1cb
commit
458f2d9b67
51
.github/workflows/basic-tests-latest-python.yml
vendored
Normal file
51
.github/workflows/basic-tests-latest-python.yml
vendored
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
name: Test latest PyTorch-compatible Python version
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
paths:
|
||||||
|
- '**/*.py' # Run workflow for changes in Python files
|
||||||
|
- '**/*.ipynb'
|
||||||
|
- '**/*.yaml'
|
||||||
|
- '**/*.yml'
|
||||||
|
- '**/*.sh'
|
||||||
|
pull_request:
|
||||||
|
branches: [ main ]
|
||||||
|
paths:
|
||||||
|
- '**/*.py'
|
||||||
|
- '**/*.ipynb'
|
||||||
|
- '**/*.yaml'
|
||||||
|
- '**/*.yml'
|
||||||
|
- '**/*.sh'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: "3.13"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||||
|
uv sync --dev --python=3.13
|
||||||
|
uv add pytest-ruff nbval
|
||||||
|
|
||||||
|
- name: Test Selected Python Scripts
|
||||||
|
run: |
|
||||||
|
source .venv/bin/activate
|
||||||
|
pytest --ruff setup/02_installing-python-libraries/tests.py
|
||||||
|
pytest --ruff ch04/01_main-chapter-code/tests.py
|
||||||
|
pytest --ruff ch05/01_main-chapter-code/tests.py
|
||||||
|
pytest --ruff ch06/01_main-chapter-code/tests.py
|
||||||
|
|
||||||
|
- name: Validate Selected Jupyter Notebooks
|
||||||
|
run: |
|
||||||
|
source .venv/bin/activate
|
||||||
|
pytest --ruff --nbval ch02/01_main-chapter-code/dataloader.ipynb
|
||||||
|
pytest --ruff --nbval ch03/01_main-chapter-code/multihead-attention.ipynb
|
||||||
|
pytest --ruff --nbval ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb
|
||||||
2
.github/workflows/basic-tests-linux-uv.yml
vendored
2
.github/workflows/basic-tests-linux-uv.yml
vendored
@@ -39,7 +39,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||||
uv sync --dev --python=3.10 # tests for backwards compatibility
|
uv sync --dev # tests for backwards compatibility
|
||||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||||
uv add pytest-ruff nbval
|
uv add pytest-ruff nbval
|
||||||
|
|
||||||
|
|||||||
@@ -38,8 +38,7 @@ jobs:
|
|||||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||||
uv sync --dev --python=3.10 # tests for backwards compatibility
|
uv sync --dev --python=3.10 # tests for backwards compatibility
|
||||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||||
uv add torch==${{ matrix.pytorch-version }}
|
uv pip install torch==${{ matrix.pytorch-version }} pytest-ruff nbval
|
||||||
uv add pytest-ruff nbval
|
|
||||||
|
|
||||||
- name: Test Selected Python Scripts
|
- name: Test Selected Python Scripts
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
2
.github/workflows/basic-tests-pytorch-rc.yml
vendored
2
.github/workflows/basic-tests-pytorch-rc.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||||
uv sync --dev --python=3.10 # tests for backwards compatibility
|
uv sync --dev # tests for backwards compatibility
|
||||||
uv add pytest-ruff nbval
|
uv add pytest-ruff nbval
|
||||||
uv pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
|
uv pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
|
||||||
|
|
||||||
|
|||||||
@@ -7,16 +7,19 @@ name = "llms-from-scratch"
|
|||||||
version = "1.0.18"
|
version = "1.0.18"
|
||||||
description = "Implement a ChatGPT-like LLM in PyTorch from scratch, step by step"
|
description = "Implement a ChatGPT-like LLM in PyTorch from scratch, step by step"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.10,<=3.13"
|
requires-python = ">=3.10,<3.14"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"torch>=2.2.2,<2.6; sys_platform == 'darwin' and platform_machine == 'x86_64' and python_version < '3.13'",
|
'torch>=2.6; python_version >= "3.13"',
|
||||||
"torch>=2.2.2; sys_platform == 'darwin' and platform_machine == 'arm64'",
|
"torch>=2.2.2,<2.6; sys_platform == 'darwin' and platform_machine == 'x86_64' and python_version < '3.12'",
|
||||||
"torch>=2.2.2; sys_platform == 'linux'",
|
"torch>=2.2.2; sys_platform == 'darwin' and platform_machine == 'arm64' and python_version < '3.12'",
|
||||||
"torch>=2.2.2; sys_platform == 'win32'",
|
"torch>=2.2.2; sys_platform == 'linux' and python_version < '3.12'",
|
||||||
|
"torch>=2.2.2; sys_platform == 'win32' and python_version < '3.12'",
|
||||||
|
|
||||||
"tensorflow>=2.16.2; sys_platform == 'darwin' and platform_machine == 'x86_64'",
|
"tensorflow>=2.16.2; sys_platform == 'darwin' and platform_machine == 'x86_64'",
|
||||||
"tensorflow>=2.18.0; sys_platform == 'darwin' and platform_machine == 'arm64'",
|
"tensorflow>=2.18.0; sys_platform == 'darwin' and platform_machine == 'arm64'",
|
||||||
"tensorflow>=2.18.0; sys_platform == 'linux'",
|
"tensorflow>=2.18.0; sys_platform == 'linux'",
|
||||||
"tensorflow>=2.18.0; sys_platform == 'win32'",
|
"tensorflow>=2.18.0; sys_platform == 'win32'",
|
||||||
|
|
||||||
"jupyterlab>=4.0",
|
"jupyterlab>=4.0",
|
||||||
"tiktoken>=0.5.1",
|
"tiktoken>=0.5.1",
|
||||||
"matplotlib>=3.7.1",
|
"matplotlib>=3.7.1",
|
||||||
@@ -33,9 +36,8 @@ llms-from-scratch = { workspace = true }
|
|||||||
[dependency-groups]
|
[dependency-groups]
|
||||||
dev = [
|
dev = [
|
||||||
"build>=1.2.2.post1",
|
"build>=1.2.2.post1",
|
||||||
"llms-from-scratch",
|
|
||||||
"twine>=6.1.0",
|
"twine>=6.1.0",
|
||||||
"tokenizers>=0.21.1",
|
"tokenizers>=0.22.0",
|
||||||
"safetensors>=0.6.2",
|
"safetensors>=0.6.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user