From 61c42b6cfc53e2a5f3ad171225bac4d49ad665fa Mon Sep 17 00:00:00 2001 From: Daniel Weindl Date: Wed, 28 Oct 2026 09:10:26 +0100 Subject: [PATCH 1/2] Follow SPEC 0 instead of NEP 29 Switch the minimum-version policy for Python and core dependencies from NEP 29 to SPEC 0. Python versions may be supported until NumPy drops them, so Python 3.12 is kept for now. Raise minimum versions accordingly: `numpy>=2.2`, `matplotlib>=3.10`, `scipy>=1.15`, and `ipython>=8.30` in the `doc` group. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 9 +++++++++ README.md | 4 +++- doc/development.rst | 5 ++++- pyproject.toml | 9 ++++----- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c3b8616..2c640714 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # PEtab changelog +## 0.11 series + +### 0.11.0 (unreleased) + +**Breaking changes** +* Follow SPEC 0 instead of NEP 29 for minimum supported dependency versions. + Require `numpy>=2.2`, and for the `vis` extra, `matplotlib>=3.10` and + `scipy>=1.15` + ## 0.10 series ### 0.10.0 diff --git a/README.md b/README.md index d66d3e7e..231c840f 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,9 @@ and the easiest way to install it is running pip3 install petab `petab` requires Python>=3.12. We are following -[NumPy's Python support policy](https://numpy.org/neps/nep-0029-deprecation_policy.html). +[SPEC 0](https://scientific-python.org/specs/spec-0000/) +for the minimum supported versions of Python and core dependencies, +but may keep supporting a Python version until NumPy drops it. Development versions of the PEtab library can be installed using diff --git a/doc/development.rst b/doc/development.rst index cf829692..ab4ad2c9 100644 --- a/doc/development.rst +++ b/doc/development.rst @@ -23,7 +23,10 @@ remove it earlier. Python compatibility -------------------- -We follow `numpy's Python support policy `_. +We follow `SPEC 0 `_ +for the minimum supported versions of Python and core dependencies +(NumPy, SciPy, Matplotlib, pandas, ...), +but may keep supporting a Python version until NumPy drops it. Release process --------------- diff --git a/pyproject.toml b/pyproject.toml index 05683be8..2fd4ec0c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ dynamic = ["version", "readme"] description = "Parameter estimation tabular data" requires-python = ">=3.12" dependencies = [ - "numpy>=2.1", + "numpy>=2.2", "pandas>=2.3", "python-libsbml>=5.17.0", "sympy", @@ -40,9 +40,9 @@ combine = [ "python-libcombine>=0.2.6", ] vis = [ - "matplotlib>=3.6.0", + "matplotlib>=3.10", "seaborn", - "scipy" + "scipy>=1.15" ] reports = [ "Jinja2", @@ -81,8 +81,7 @@ doc = [ "sphinx-rtd-theme>=0.5.1", "m2r2", "myst-nb>=0.14.0", - # https://github.com/spatialaudio/nbsphinx/issues/687#issuecomment-1339271312 - "ipython>=7.21.0, !=8.7.0", + "ipython>=8.30", "pysb", ] dev = [ From e20f112569386d96661b29c5189837dc0d7bf478 Mon Sep 17 00:00:00 2001 From: Daniel Weindl Date: Wed, 28 Oct 2026 09:10:50 +0100 Subject: [PATCH 2/2] Add PR link to changelog Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c640714..3bb5cec2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ * Follow SPEC 0 instead of NEP 29 for minimum supported dependency versions. Require `numpy>=2.2`, and for the `vis` extra, `matplotlib>=3.10` and `scipy>=1.15` + (by @dweindl in https://github.com/PEtab-dev/libpetab-python/pull/578) ## 0.10 series