Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
submodules: recursive
- uses: actions/setup-python@v7
with:
python-version: '3.10'
python-version: '3.11'
- name: Install dependencies
# autodoc imports the package, so the extension has to compile here -- hence the
# same MPI and BLAS packages the test workflow installs, rather than the lighter
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test_development_versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
max-parallel: 4
matrix:
os: [ubuntu-latest]
python-version: ["3.10", "3.14"]
python-version: ["3.11", "3.14"]
steps:
- uses: actions/checkout@v7
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test_latest_versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
max-parallel: 4
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
python-version: ["3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v7
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test_minimum_versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
max-parallel: 4
matrix:
os: [ubuntu-latest]
python-version: ["3.10"]
python-version: ["3.11"]
steps:
- uses: actions/checkout@v7
with:
Expand Down
2 changes: 1 addition & 1 deletion INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ reads, building against a host MPI, and how to verify what you got.

## Prerequisites

**Required:** Python 3.10+, MPI (OpenMPI/MPICH), BLAS (OpenBLAS/MKL), pybind11, mpi4py, numpy, compiler with OpenMP.
**Required:** Python 3.11+, MPI (OpenMPI/MPICH), BLAS (OpenBLAS/MKL), pybind11, mpi4py, numpy, compiler with OpenMP.

**On macOS:** Apple clang ships without OpenMP, so add `llvm-openmp` to the conda
environment. Homebrew's `libomp` is used as a fallback if the env has none. Pin the
Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "sbd-eigensolver"
version = "1.7.0"
description = "Python bindings for Selected Basis Diagonalization (SBD) library"
readme = "README.md"
requires-python = ">=3.10"
requires-python = ">=3.11"
license = "Apache-2.0"
license-files = ["LICENSE.txt"]
keywords = ["quantum chemistry", "diagonalization", "tensor product basis", "MPI"]
Expand All @@ -19,7 +19,6 @@ classifiers = [
"Topic :: Scientific/Engineering :: Chemistry",
"Topic :: Scientific/Engineering :: Physics",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
6 changes: 6 additions & 0 deletions releasenotes/notes/bump-minimum-python-38a75964047ebb47.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
upgrade:
- |
Support for Python 3.10 has been dropped. Python 3.11 or later is now
required. Python 3.10 reached `end of life <https://devguide.python.org/versions/>`__
on October 1, 2026.
10 changes: 5 additions & 5 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tox]
minversion = 4.4.3
envlist = py{310,311,312,313,314}{,-notebook}, mpi, docs
minversion = 4.4.4
envlist = py{311,312,313,314}{,-notebook}, mpi, docs
isolated_build = True

[testenv]
Expand Down Expand Up @@ -78,12 +78,12 @@ commands =
mpirun -n {env:SBD_TEST_NPROCS} pytest --only-mpi {posargs}

# Spelled out with the hyphen outside the braces. Writing this as
# {,py310-,py311-,...}notebook does not work: tox expands numeric ranges in a section
# {,py311-,py312-,...}notebook does not work: tox expands numeric ranges in a section
# name before splitting it on braces, so `py314-` parses as `py3` plus the range `14-`,
# which produces junk environment names and never defines py310-notebook and friends --
# which produces junk environment names and never defines py311-notebook and friends --
# those then silently fall through to [testenv] and run the unit tests instead. Nesting
# braces is not an alternative either; it crashes tox outright.
[testenv:{notebook,py310-notebook,py311-notebook,py312-notebook,py313-notebook,py314-notebook}]
[testenv:{notebook,py311-notebook,py312-notebook,py313-notebook,py314-notebook}]
# nbmake runs each notebook with its own directory as the working directory, so the
# relative paths the examples use to reach the vendored data resolve as they would for
# someone running the notebook by hand.
Expand Down
Loading