diff --git a/.github/workflows/basic-tests-linux-uv.yml b/.github/workflows/basic-tests-linux-uv.yml
index 2ce889e..6fd292a 100644
--- a/.github/workflows/basic-tests-linux-uv.yml
+++ b/.github/workflows/basic-tests-linux-uv.yml
@@ -33,13 +33,13 @@ jobs:
- name: Set up Python (uv)
uses: actions/setup-python@v5
with:
- python-version: "3.10"
+ python-version: "3.11"
- name: Install uv and dependencies
shell: bash
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
- uv python install 3.10
+ uv python install 3.11
uv add . --dev
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
uv add pytest-ruff nbval
diff --git a/.github/workflows/basic-tests-macos-uv.yml b/.github/workflows/basic-tests-macos-uv.yml
index b0c5844..ecbb6c9 100644
--- a/.github/workflows/basic-tests-macos-uv.yml
+++ b/.github/workflows/basic-tests-macos-uv.yml
@@ -33,13 +33,13 @@ jobs:
- name: Set up Python (uv)
uses: actions/setup-python@v5
with:
- python-version: "3.10"
+ python-version: "3.11"
- name: Install uv and dependencies
shell: bash
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
- uv python install 3.10
+ uv python install 3.11
uv add . --dev
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
uv add pytest-ruff nbval
diff --git a/.github/workflows/basic-tests-old-pytorch.yml b/.github/workflows/basic-tests-old-pytorch.yml
index 210d297..116db3c 100644
--- a/.github/workflows/basic-tests-old-pytorch.yml
+++ b/.github/workflows/basic-tests-old-pytorch.yml
@@ -31,12 +31,12 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
- python-version: "3.10"
+ python-version: "3.11"
- name: Install dependencies
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
- uv python install 3.10
+ uv python install 3.11
uv add . --dev
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
uv add torch==${{ matrix.pytorch-version }}
diff --git a/.github/workflows/basic-tests-pip.yml b/.github/workflows/basic-tests-pip.yml
index 0c0c4b9..504690f 100644
--- a/.github/workflows/basic-tests-pip.yml
+++ b/.github/workflows/basic-tests-pip.yml
@@ -33,7 +33,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
- python-version: "3.10"
+ python-version: "3.11"
- name: Create Virtual Environment and Install Dependencies
run: |
diff --git a/.github/workflows/basic-tests-pytorch-rc.yml b/.github/workflows/basic-tests-pytorch-rc.yml
index e91d67d..742bb23 100644
--- a/.github/workflows/basic-tests-pytorch-rc.yml
+++ b/.github/workflows/basic-tests-pytorch-rc.yml
@@ -27,12 +27,12 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
- python-version: "3.10"
+ python-version: "3.11"
- name: Install dependencies
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
- uv python install 3.10
+ uv python install 3.11
uv add . --dev
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
uv add pytest-ruff nbval
diff --git a/.github/workflows/basic-tests-windows-uv-pip.yml b/.github/workflows/basic-tests-windows-uv-pip.yml
index b7533b0..bf7aeb1 100644
--- a/.github/workflows/basic-tests-windows-uv-pip.yml
+++ b/.github/workflows/basic-tests-windows-uv-pip.yml
@@ -29,7 +29,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
- python-version: '3.10'
+ python-version: '3.11'
- name: Install dependencies
shell: bash
@@ -37,7 +37,7 @@ jobs:
export PATH="$HOME/.local/bin:$PATH"
pip install --upgrade pip
pip install uv
- uv venv --python=python3.10
+ uv venv --python=python3.11
source .venv/Scripts/activate
pip install -r requirements.txt # because of dependency issue on Windows when using `uv pip`
pip install tensorflow-io-gcs-filesystem==0.31.0 # Explicit for Windows
diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml
index b998558..52e41d6 100644
--- a/.github/workflows/check-links.yml
+++ b/.github/workflows/check-links.yml
@@ -18,12 +18,12 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
- python-version: '3.10'
+ python-version: '3.11'
- name: Install dependencies
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
- uv python install 3.10
+ uv python install 3.11
uv add . --dev
uv add pytest-ruff pytest-check-links
# Current version of retry doesn't work well if there are broken non-URL links
diff --git a/.github/workflows/check-spelling-errors.yml b/.github/workflows/check-spelling-errors.yml
index 3edd99c..d347a2e 100644
--- a/.github/workflows/check-spelling-errors.yml
+++ b/.github/workflows/check-spelling-errors.yml
@@ -18,12 +18,12 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
- python-version: '3.10'
+ python-version: '3.11'
- name: Install codespell
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
- uv python install 3.10
+ uv python install 3.11
uv add . --dev
uv add codespell
diff --git a/.github/workflows/pep8-linter.yml b/.github/workflows/pep8-linter.yml
index 2b4723c..aa9de7f 100644
--- a/.github/workflows/pep8-linter.yml
+++ b/.github/workflows/pep8-linter.yml
@@ -14,11 +14,11 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
- python-version: '3.10'
+ python-version: '3.11'
- name: Install ruff (a faster flake 8 equivalent)
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
- uv python install 3.10
+ uv python install 3.11
uv add . --dev
uv add ruff
diff --git a/setup/01_optional-python-setup-preferences/README.md b/setup/01_optional-python-setup-preferences/README.md
index 2249dfb..0128a09 100644
--- a/setup/01_optional-python-setup-preferences/README.md
+++ b/setup/01_optional-python-setup-preferences/README.md
@@ -50,7 +50,7 @@ If it returns 3.10 or newer, no further action is required.
> [!NOTE]
-> I recommend installing a Python version that is at least 2 versions older than the most recent release to ensure PyTorch compatibility. For example, if the most recent version is Python 3.13, I recommend installing version 3.10 or 3.11.
+> I recommend installing a Python version that is at least 1-3 versions older than the most recent release to ensure PyTorch compatibility. For example, if the most recent version is Python 3.13, I recommend installing version 3.10, 3.11, or 3.12.
Otherwise, if Python is not installed or is an older version, you can install it for your operating system as described below.
@@ -62,7 +62,7 @@ Otherwise, if Python is not installed or is an older version, you can install it
```bash
sudo apt update
-sudo apt install python3.10 python3.10-venv python3.10-dev
+sudo apt install python3.11 python3.11-venv python3.11-dev
```
@@ -246,7 +246,7 @@ conda create -n LLMs python=3.10
-> Many scientific computing libraries do not immediately support the newest version of Python. Therefore, when installing PyTorch, it's advisable to use a version of Python that is one or two releases older. For instance, if the latest version of Python is 3.13, using Python 3.10 or 3.11 is recommended.
+> Many scientific computing libraries do not immediately support the newest version of Python. Therefore, when installing PyTorch, it's advisable to use a version of Python that is one to three releases older. For instance, if the latest version of Python is 3.13, using Python 3.10, 3.11, or 3.12 is recommended.
Next, activate your new virtual environment (you have to do it every time you open a new terminal window or tab):
diff --git a/setup/01_optional-python-setup-preferences/native-uv.md b/setup/01_optional-python-setup-preferences/native-uv.md
index abe3314..ea2acd0 100644
--- a/setup/01_optional-python-setup-preferences/native-uv.md
+++ b/setup/01_optional-python-setup-preferences/native-uv.md
@@ -53,36 +53,28 @@ powershell -c "irm https://astral.sh/uv/install.ps1 | more"
> For more installation options, please refer to the official [uv documentation](https://docs.astral.sh/uv/getting-started/installation/#standalone-installer).
-## 2. Install Python
-
-You can install Python using uv:
-
-```bash
-uv python install 3.10
-```
-
-
-> [!NOTE]
-> I recommend installing a Python version that is at least 2 versions older than the most recent release to ensure PyTorch compatibility. For example, if the most recent version is Python 3.13, I recommend installing version 3.10 or 3.11. You can find out the most recent Python version by visiting [python.org](https://www.python.org/downloads/).
-
-
-## 3. Install Python packages and dependencies
+## 2. Install Python packages and dependencies
To install all required packages from a `pyproject.toml` file (such as the one located at the top level of this GitHub repository), run the following command, assuming the file is in the same directory as your terminal session:
```bash
-uv add . --dev
+uv sync --dev --python 3.11
```
+> [!NOTE]
+> If you do not have Python 3.11 available on your system, uv will download and install it for you.
+>
+> I recommend using a Python version that is at least 1-3 versions older than the most recent release to ensure PyTorch compatibility. For example, if the most recent version is Python 3.13, I recommend using version 3.10, 3.11, 3.12. You can find out the most recent Python version by visiting [python.org](https://www.python.org/downloads/).
+
> [!NOTE]
> If you have problems with the following commands above due to certain dependencies (for example, if you are using Windows), you can always fall back to regular pip:
> `uv add pip`
> `uv run python -m pip install -U -r requirements.txt`
-
-Note that the `uv add` command above will create a separate virtual environment via the `.venv` subfolder. (In case you want to delete your virtual environment to start from scratch, you can simply delete the `.venv` folder.)
+
+Note that the `uv sync` command above will create a separate virtual environment via the `.venv` subfolder. (In case you want to delete your virtual environment to start from scratch, you can simply delete the `.venv` folder.)
You can install new packages, that are not specified in the `pyproject.toml` via `uv add`, for example: