diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 494cf3f9..2c84a0fe 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -29,6 +29,10 @@ jobs: - python-version: '3.12' - python-version: '3.13' - python-version: '3.14' # To actually run the default config + # cvxpy is excluded on Python 3.15 because one of its dependencies (sparsediffpy<0.7) has no + # cp315 wheel and can't be built without BLAS. + - python-version: '3.15' + options: 'quadprog_projector fairgrad' # OS variations - os: macOS-latest - os: windows-latest @@ -46,11 +50,6 @@ jobs: extra_groups: 'lower_bounds' # Latest: torch nightly build. - torch_channel: 'nightly' - # Upcoming Python version, not yet supported by stable torch. cvxpy is excluded because one - # of its dependencies (sparsediffpy) has no wheel yet and can't be built without BLAS. - - python-version: '3.15' - torch_channel: 'nightly' - options: 'quadprog_projector fairgrad' steps: - name: Checkout repository diff --git a/CHANGELOG.md b/CHANGELOG.md index d04177a3..6dc43d56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ changelog does not include internal changes that do not affect the user. ## [Unreleased] +### Added + +- Added Python 3.15 classifier in pyproject.toml (we now also run tests on Python 3.15 in the CI). + ### Fixed - Fixed `Krum` and `KrumWeighting` ranking rows by sums of Euclidean distances instead of diff --git a/docs/source/installation.md b/docs/source/installation.md index 5915e085..b90e95e7 100644 --- a/docs/source/installation.md +++ b/docs/source/installation.md @@ -5,7 +5,7 @@ :end-before: ``` -Note that `torchjd` requires Python 3.10, 3.11, 3.12, 3.13 or 3.14 and `torch>=2.0`. +Note that `torchjd` requires Python 3.10, 3.11, 3.12, 3.13, 3.14 or 3.15 and `torch>=2.0`. Some aggregators have additional dependencies that are not included by default when installing `torchjd`. The following table lists the optional dependency groups and the aggregators they enable: diff --git a/pyproject.toml b/pyproject.toml index 49eb5a9a..3cebde3e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Artificial Intelligence", ]