Repository: whittle-org/whittle (language: python)

Issue:
feat: add python 3.12 support
PyTorch, Lightning and LitGPT now support python 3.12. Let's add 3.12 to our list of supported versions. 

TODOs: 
- [ ] update `pyproject.toml` to allow usage of 3.12
- [ ] update GH actions workflows to also use 3.12 (make sure tests don't fail)
    - [ ] `unit-test.yml`
    - [ ] `run-examples.yml`


Discussion / hints:
Hi @timurcarstensen !
Can I work on this issue?
Well then just submit a PR after reading and following our contribution guidelines :)

Fix patch:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 9f3d167..3d673ca 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -9,7 +9,7 @@ jobs:
     strategy:
       matrix:
         # Run in all these versions of Python
-        python-version: ["3.9", "3.10", "3.11"]
+        python-version: ["3.9", "3.10", "3.11", "3.12"]
     steps:
       - uses: actions/checkout@v4
       - name: Set up Python ${{ matrix.python-version }}
diff --git a/.github/workflows/run-examples.yml b/.github/workflows/run-examples.yml
index 6afef4c..af27c76 100644
--- a/.github/workflows/run-examples.yml
+++ b/.github/workflows/run-examples.yml
@@ -13,7 +13,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        python-version: ["3.11"]
+        python-version: ["3.11", "3.12"]
     steps:
       - uses: actions/checkout@v4
       - name: install the latest version uv
diff --git a/pyproject.toml b/pyproject.toml
index 434b7e9..6ed52cb 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -8,7 +8,7 @@ authors = [{name = "Aaron Klein"},
     {name = "Timur Carstensen"}]
 license = { file = "LICENSE" }
 readme = "README.md"
-requires-python = ">=3.9,<3.12"
+requires-python = ">=3.9,<3.13"
 # TODO: Some of these might be able to be moved to optional dependancies
 dependencies = [
   "pandas",


Test patch:
diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml
index 826d0fc..953aefc 100644
--- a/.github/workflows/unit-test.yml
+++ b/.github/workflows/unit-test.yml
@@ -13,7 +13,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        python-version: ["3.9", "3.10", "3.11"]
+        python-version: ["3.9", "3.10", "3.11", "3.12"]
     steps:
       - uses: actions/checkout@v4
       - name: install the latest version uv