From d8395e1528b6a9c78124dae66e2da1450e1408b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Fri, 1 Aug 2025 14:03:58 +0200 Subject: [PATCH 1/7] DEP: drop support for Python 3.8, require 3.9 or newer --- .github/workflows/ci.yml | 5 ++++- pyproject.toml | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 660fa325..114d00f4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,10 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: + - "3.9" + - "3.10" + - "3.11" group: [1, 2, 3] steps: diff --git a/pyproject.toml b/pyproject.toml index b5737425..98d71d00 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,14 +13,13 @@ authors = [ { name = "Carlos Alberto Gomez Gonzalez" }, { name = "Valentin Christiaens", email = "valentin.christiaens@uliege.be" }, ] -requires-python = ">=3.8" +requires-python = ">=3.9" classifiers = [ "Intended Audience :: Science/Research", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", From 8456e6fa95f03b6f1c2fa592305d79fe9d1f765d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Sat, 2 Aug 2025 15:52:38 +0200 Subject: [PATCH 2/7] DEP: drop support for Python 3.9, require 3.10 or newer --- .github/workflows/ci.yml | 1 - README.rst | 2 +- docs/source/index.rst | 2 +- pyproject.toml | 3 +-- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 114d00f4..ca3b41dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,6 @@ jobs: fail-fast: false matrix: python-version: - - "3.9" - "3.10" - "3.11" group: [1, 2, 3] diff --git a/README.rst b/README.rst index f4509ee8..4da528d6 100644 --- a/README.rst +++ b/README.rst @@ -49,7 +49,7 @@ Introduction ------------ VIP is a python package for high-contrast imaging of exoplanets and circumstellar disks. -VIP is compatible with Python 3.8, 3.9, 3.10 and 3.11 (Python 2 compatibility dropped with VIP 0.9.9, and Python 3.7 compatibility dropped with VIP 1.4.3). +VIP is compatible with Python 3.10 and 3.11 (Python 2 compatibility dropped with VIP 0.9.9, and Python 3.7 compatibility dropped with VIP 1.4.3). The goal of VIP is to integrate open-source, efficient, easy-to-use and well-documented implementations of high-contrast image processing algorithms to diff --git a/docs/source/index.rst b/docs/source/index.rst index e9a4b3e2..e0654d03 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -11,7 +11,7 @@ What is VIP? ------------ ``VIP`` stands for Vortex Image Processing. It is a python package for high-contrast imaging of exoplanets and circumstellar disks. -VIP is compatible with Python 3.8, 3.9, 3.10 and 3.11 (Python 2 compatibility dropped with VIP 0.9.9, and Python 3.7 compatibility dropped with VIP 1.4.3). +VIP is compatible with Python 3.10 and 3.11 (Python 2 compatibility dropped with VIP 0.9.9, and Python 3.7 compatibility dropped with VIP 1.4.3). The goal of VIP is to integrate open-source, efficient, easy-to-use and well-documented implementations of high-contrast image processing algorithms to diff --git a/pyproject.toml b/pyproject.toml index 98d71d00..59a222d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,14 +13,13 @@ authors = [ { name = "Carlos Alberto Gomez Gonzalez" }, { name = "Valentin Christiaens", email = "valentin.christiaens@uliege.be" }, ] -requires-python = ">=3.9" +requires-python = ">=3.10" classifiers = [ "Intended Audience :: Science/Research", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Topic :: Scientific/Engineering :: Astronomy", From 35b4111162f72068211a0e29f37b266c4a978842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Wed, 6 Aug 2025 14:27:19 +0200 Subject: [PATCH 3/7] TST: promote warnings to errors --- pyproject.toml | 5 +++++ vip_hci/fm/negfc_mcmc.py | 2 -- vip_hci/fm/utils_mcmc.py | 2 -- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 59a222d0..5ec00a41 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,3 +29,8 @@ urls.Homepage = "https://github.com/vortex-exoplanet/VIP" [tool.setuptools] zip-safe = false packages.find = { namespaces = false } + +[tool.pytest.ini_options] +filterwarnings = [ + "error", +] diff --git a/vip_hci/fm/negfc_mcmc.py b/vip_hci/fm/negfc_mcmc.py index c3cec21b..2f1dc1f9 100644 --- a/vip_hci/fm/negfc_mcmc.py +++ b/vip_hci/fm/negfc_mcmc.py @@ -65,8 +65,6 @@ from .negfc_fmerit import get_values_optimize, get_mu_and_sigma from .utils_mcmc import gelman_rubin, autocorr_test from .utils_negfc import find_nearest -import warnings -warnings.filterwarnings("ignore", category=DeprecationWarning) def lnprior(param, bounds, force_rPA=False): diff --git a/vip_hci/fm/utils_mcmc.py b/vip_hci/fm/utils_mcmc.py index fed8a995..c1545c58 100644 --- a/vip_hci/fm/utils_mcmc.py +++ b/vip_hci/fm/utils_mcmc.py @@ -11,8 +11,6 @@ 'gelman_rubin_from_chain'] import numpy as np -import warnings -warnings.filterwarnings("ignore", category=DeprecationWarning) def gelman_rubin(x): From 9b173c70f35033f0346d8ff05fb3164581a3f6af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Wed, 6 Aug 2025 14:33:59 +0200 Subject: [PATCH 4/7] RFC: avoid a deprecation warning from numpy (implicit conversion from array to scalar) --- vip_hci/fm/negfc_simplex.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vip_hci/fm/negfc_simplex.py b/vip_hci/fm/negfc_simplex.py index d5cede4d..1db41461 100644 --- a/vip_hci/fm/negfc_simplex.py +++ b/vip_hci/fm/negfc_simplex.py @@ -792,7 +792,7 @@ def firstguess(cube, angs, psfn, planets_xy_coord, ncomp=1, fwhm=4, verbose=False) if force_rPA: r_0[i_planet], theta_0[i_planet] = (r_pre, theta_pre) - f_0[i_planet] = res.x[:] + f_0[i_planet] = res.x.item() else: r_0[i_planet] = res.x[0] theta_0[i_planet] = res.x[1] From 40a20c0a395c54fc35b0d204b4fb6377f0aa348b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Wed, 6 Aug 2025 15:34:35 +0200 Subject: [PATCH 5/7] DEP: unpin pytest-cov --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index ac3e4c25..ea671301 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -5,7 +5,7 @@ myst-nb myst-parser pandoc pytest -pytest-cov ~=2.6.0 +pytest-cov >=2.6.0 pytest-split flake8 flake8-bandit From c4f3d2347ee1e938569690348e19f2722d8dd19f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Wed, 6 Aug 2025 15:42:04 +0200 Subject: [PATCH 6/7] ignore self-triggered ImportWarnings --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 5ec00a41..5688a582 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,4 +33,5 @@ packages.find = { namespaces = false } [tool.pytest.ini_options] filterwarnings = [ "error", + 'ignore::ImportWarning' ] From 1ba420016e05e3ba379f01aa96349f790db22ec5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Wed, 6 Aug 2025 16:30:48 +0200 Subject: [PATCH 7/7] more filters --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 5688a582..e83debe4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,5 +33,6 @@ packages.find = { namespaces = false } [tool.pytest.ini_options] filterwarnings = [ "error", - 'ignore::ImportWarning' + 'ignore::ImportWarning', + 'ignore:The fit may be unsuccessful:UserWarning', # noisy astropy warnings ]