Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-photutils for 
openSUSE:Factory checked in at 2024-05-06 17:53:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-photutils (Old)
 and      /work/SRC/openSUSE:Factory/.python-photutils.new.1880 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-photutils"

Mon May  6 17:53:14 2024 rev:24 rq:1171971 version:1.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-photutils/python-photutils.changes        
2024-02-18 20:25:41.407465772 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-photutils.new.1880/python-photutils.changes  
    2024-05-06 17:53:32.159704070 +0200
@@ -1,0 +2,22 @@
+Sun May  5 10:03:57 UTC 2024 - Ben Greiner <[email protected]>
+
+- Update to 1.12
+  ## General
+  * The minimum required Python is now 3.10. [#1719]
+  * The minimum required NumPy is now 1.23. [#1719]
+  * The minimum required SciPy is now 1.8. [#1719]
+  * The minimum required scikit-image is now 0.20. [#1719]
+  * The minimum required scikit-learn is now 1.1. [#1719]
+  * The minimum required pytest-astropy is now 0.11. [#1719]
+  * The minimum required sphinx-astropy is now 1.9. [#1719]
+  * NumPy 2.0 is supported.
+  ## Bug Fixes
+  ### photutils.background
+  * No longer warn about NaNs in the data if those NaNs are masked
+    in mask passed to Background2D. [#1712]
+  ## API Changes
+  ### photutils.utils
+  * The default value for the ImageDepth mask_pad keyword is now
+    set to 0. [#1714]
+
+-------------------------------------------------------------------

Old:
----
  photutils-1.11.0.tar.gz

New:
----
  photutils-1.12.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-photutils.spec ++++++
--- /var/tmp/diff_new_pack.icpW0O/_old  2024-05-06 17:53:32.711724202 +0200
+++ /var/tmp/diff_new_pack.icpW0O/_new  2024-05-06 17:53:32.711724202 +0200
@@ -16,14 +16,15 @@
 #
 
 
+%define shortversion 1.12
 Name:           python-photutils
-Version:        1.11.0
+Version:        1.12.0
 Release:        0
 Summary:        An Astropy package for photometry
 License:        BSD-3-Clause
 Group:          Productivity/Scientific/Astronomy
 URL:            https://github.com/astropy/photutils
-Source:         
https://files.pythonhosted.org/packages/source/p/photutils/photutils-%{version}.tar.gz
+Source:         
https://files.pythonhosted.org/packages/source/p/photutils/photutils-%{shortversion}.tar.gz
 BuildRequires:  %{python_module Cython >= 3 with %python-Cython < 3.1}
 BuildRequires:  %{python_module devel >= 3.9}
 BuildRequires:  %{python_module extension-helpers >= 1 with 
%python-extension-helpers < 2}
@@ -62,7 +63,7 @@
 and performing photometry of astronomical sources.
 
 %prep
-%autosetup -p1 -n photutils-%{version}
+%autosetup -p1 -n photutils-%{shortversion}
 
 %build
 export CFLAGS="%{optflags}"

++++++ photutils-1.11.0.tar.gz -> photutils-1.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/.github/workflows/ci_cron_daily.yml 
new/photutils-1.12/.github/workflows/ci_cron_daily.yml
--- old/photutils-1.11.0/.github/workflows/ci_cron_daily.yml    2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/.github/workflows/ci_cron_daily.yml      2024-04-12 
22:47:36.000000000 +0200
@@ -35,7 +35,7 @@
       matrix:
         include:
           - os: ubuntu-latest
-            python: '3.11'
+            python: '3.12'
             tox_env: 'linkcheck'
             allow_failure: false
             prefix: ''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/photutils-1.11.0/.github/workflows/ci_cron_weekly.yml 
new/photutils-1.12/.github/workflows/ci_cron_weekly.yml
--- old/photutils-1.11.0/.github/workflows/ci_cron_weekly.yml   2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/.github/workflows/ci_cron_weekly.yml     2024-04-12 
22:47:36.000000000 +0200
@@ -37,8 +37,8 @@
       matrix:
         include:
           - os: ubuntu-latest
-            python: '3.11'
-            tox_env: 'py311-test-alldeps-devinfra'
+            python: '3.12'
+            tox_env: 'py312-test-alldeps-devinfra'
             allow_failure: false
 
     steps:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/.github/workflows/ci_tests.yml 
new/photutils-1.12/.github/workflows/ci_tests.yml
--- old/photutils-1.11.0/.github/workflows/ci_tests.yml 2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/.github/workflows/ci_tests.yml   2024-04-12 
22:47:36.000000000 +0200
@@ -31,69 +31,70 @@
       matrix:
         include:
           - os: ubuntu-latest
-            python: '3.9'
-            tox_env: 'py39-test-alldeps'
+            python: '3.10'
+            tox_env: 'py310-test-alldeps'
             allow_failure: false
             prefix: ''
 
           - os: ubuntu-latest
-            python: '3.10'
-            tox_env: 'py310-test-alldeps'
+            python: '3.11'
+            tox_env: 'py311-test-alldeps'
             allow_failure: false
             prefix: ''
 
           - os: ubuntu-latest
-            python: '3.11'
-            tox_env: 'py311-test-alldeps-cov'
+            python: '3.12'
+            tox_env: 'py312-test-alldeps-cov'
             toxposargs: --remote-data=any
             allow_failure: false
             prefix: ''
 
           - os: macos-latest
-            python: '3.11'
-            tox_env: 'py311-test-alldeps'
+            python: '3.12'
+            tox_env: 'py312-test-alldeps'
             allow_failure: false
             prefix: ''
 
           - os: macos-14
-            python: '3.11'
-            tox_env: 'py311-test-alldeps'
+            python: '3.12'
+            tox_env: 'py312-test-alldeps'
             allow_failure: false
             prefix: 'M1'
 
           - os: windows-latest
-            python: '3.11'
-            tox_env: 'py311-test-alldeps'
+            python: '3.12'
+            tox_env: 'py312-test-alldeps'
             allow_failure: false
             prefix: ''
 
           - os: ubuntu-latest
-            python: '3.11'
-            tox_env: 'py311-test'
+            python: '3.12'
+            tox_env: 'py312-test'
+            toxposargs: --remote-data=any
             allow_failure: false
             prefix: ''
 
           - os: ubuntu-latest
-            python: '3.11'
+            python: '3.12'
             tox_env: 'codestyle'
             allow_failure: false
             prefix: ''
 
           - os: ubuntu-latest
-            python: '3.11'
+            python: '3.12'
             tox_env: 'pep517'
             allow_failure: false
             prefix: ''
 
           - os: ubuntu-latest
-            python: '3.11'
+            python: '3.12'
             tox_env: 'bandit'
             allow_failure: false
             prefix: ''
 
           - os: ubuntu-latest
-            python: '3.9'
-            tox_env: 'py39-test-oldestdeps'
+            python: '3.10'
+            tox_env: 'py310-test-oldestdeps'
             allow_failure: false
             prefix: ''
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/.github/workflows/publish.yml 
new/photutils-1.12/.github/workflows/publish.yml
--- old/photutils-1.11.0/.github/workflows/publish.yml  2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/.github/workflows/publish.yml    2024-04-12 
22:47:36.000000000 +0200
@@ -43,7 +43,6 @@
       test_command: pytest -p no:warnings --pyargs photutils
       targets: |
         # Linux wheels
-        - cp39-manylinux_x86_64
         - cp310-manylinux_x86_64
         - cp311-manylinux_x86_64
         - cp312-manylinux_x86_64
@@ -51,18 +50,15 @@
         # MacOS X wheels
         # Note that the arm64 wheels are not actually tested so we rely
         # on local manual testing of these to make sure they are ok.
-        - cp39*macosx_x86_64
         - cp310*macosx_x86_64
         - cp311*macosx_x86_64
         - cp312*macosx_x86_64
 
-        - cp39*macosx_arm64
         - cp310*macosx_arm64
         - cp311*macosx_arm64
         - cp312*macosx_arm64
 
         # Windows wheels
-        - cp39*win_amd64
         - cp310*win_amd64
         - cp311*win_amd64
         - cp312*win_amd64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/CHANGES.rst 
new/photutils-1.12/CHANGES.rst
--- old/photutils-1.11.0/CHANGES.rst    2024-02-16 16:41:15.000000000 +0100
+++ new/photutils-1.12/CHANGES.rst      2024-04-12 22:47:36.000000000 +0200
@@ -1,9 +1,45 @@
-1.11.0 (2024-02-16)
+1.12.0 (2024-04-12)
 -------------------
 
 General
 ^^^^^^^
 
+- The minimum required Python is now 3.10. [#1719]
+
+- The minimum required NumPy is now 1.23. [#1719]
+
+- The minimum required SciPy is now 1.8. [#1719]
+
+- The minimum required scikit-image is now 0.20. [#1719]
+
+- The minimum required scikit-learn is now 1.1. [#1719]
+
+- The minimum required pytest-astropy is now 0.11. [#1719]
+
+- The minimum required sphinx-astropy is now 1.9. [#1719]
+
+- NumPy 2.0 is supported.
+
+Bug Fixes
+^^^^^^^^^
+
+- ``photutils.background``
+
+  - No longer warn about NaNs in the data if those NaNs are masked in
+    ``mask`` passed to ``Background2D``. [#1712]
+
+API Changes
+^^^^^^^^^^^
+
+- ``photutils.utils``
+
+  - The default value for the ``ImageDepth`` ``mask_pad`` keyword is now
+    set to 0. [#1714]
+
+
+1.11.0 (2024-02-16)
+-------------------
+
 New Features
 ^^^^^^^^^^^^
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/PKG-INFO new/photutils-1.12/PKG-INFO
--- old/photutils-1.11.0/PKG-INFO       2024-02-16 16:41:36.412855900 +0100
+++ new/photutils-1.12/PKG-INFO 2024-04-12 22:47:51.516433700 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: photutils
-Version: 1.11.0
+Version: 1.12.0
 Summary: An Astropy package for source detection and photometry
 Author-email: Photutils Developers <[email protected]>
 License: Copyright (c) 2011-2023, Photutils Developers
@@ -44,27 +44,27 @@
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
 Classifier: Topic :: Scientific/Engineering :: Astronomy
-Requires-Python: >=3.9
+Requires-Python: >=3.10
 Description-Content-Type: text/x-rst
 License-File: LICENSE.rst
-Requires-Dist: numpy>=1.22
+Requires-Dist: numpy>=1.23
 Requires-Dist: astropy>=5.1
 Provides-Extra: all
-Requires-Dist: scipy>=1.7.2; extra == "all"
+Requires-Dist: scipy>=1.8; extra == "all"
 Requires-Dist: matplotlib>=3.5; extra == "all"
-Requires-Dist: scikit-image>=0.19; extra == "all"
-Requires-Dist: scikit-learn>=1.0; extra == "all"
+Requires-Dist: scikit-image>=0.20; extra == "all"
+Requires-Dist: scikit-learn>=1.1; extra == "all"
 Requires-Dist: gwcs>=0.18; extra == "all"
 Requires-Dist: bottleneck; extra == "all"
 Requires-Dist: tqdm; extra == "all"
 Requires-Dist: rasterio; extra == "all"
 Requires-Dist: shapely; extra == "all"
 Provides-Extra: test
-Requires-Dist: pytest-astropy>=0.10; extra == "test"
+Requires-Dist: pytest-astropy>=0.11; extra == "test"
 Provides-Extra: docs
 Requires-Dist: photutils[all]; extra == "docs"
 Requires-Dist: sphinx; extra == "docs"
-Requires-Dist: sphinx-astropy>=1.6; extra == "docs"
+Requires-Dist: sphinx-astropy>=1.9; extra == "docs"
 Requires-Dist: tomli; python_version < "3.11" and extra == "docs"
 
 =========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/docs/contributing.rst 
new/photutils-1.12/docs/contributing.rst
--- old/photutils-1.11.0/docs/contributing.rst  2024-02-16 16:41:15.000000000 
+0100
+++ new/photutils-1.12/docs/contributing.rst    2024-04-12 22:47:36.000000000 
+0200
@@ -19,11 +19,12 @@
 Contributing
 ------------
 
-Like the `Astropy`_ project, this package is made both by and for its
-users. We accept contributions at all levels, spanning the gamut from
-fixing a typo in the documentation to developing a major new feature. We
-welcome contributors who will abide by the `Python Software Foundation
-Code of Conduct <https://www.python.org/psf/conduct/>`_.
+Like the `Astropy`_ project, this package is made both by
+and for its users. We accept contributions at all levels,
+spanning the gamut from fixing a typo in the documentation to
+developing a major new feature. We welcome contributors who
+will abide by the `Python Software Foundation Code of Conduct
+<https://policies.python.org/python.org/code-of-conduct/>`_.
 
 This package follows the same workflow and coding guidelines as
 `Astropy`_. Please read the `Astropy Development documentation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/docs/install.rst 
new/photutils-1.12/docs/install.rst
--- old/photutils-1.11.0/docs/install.rst       2024-02-16 16:41:15.000000000 
+0100
+++ new/photutils-1.12/docs/install.rst 2024-04-12 22:47:36.000000000 +0200
@@ -7,24 +7,24 @@
 
 Photutils has the following strict requirements:
 
-* `Python <https://www.python.org/>`_ 3.9 or later
+* `Python <https://www.python.org/>`_ 3.10 or later
 
-* `NumPy <https://numpy.org/>`_ 1.22 or later
+* `NumPy <https://numpy.org/>`_ 1.23 or later
 
 * `Astropy`_ 5.1 or later
 
 Photutils also optionally depends on other packages for some features:
 
-* `SciPy <https://scipy.org/>`_ 1.7.2 or later:  To power a variety of
+* `SciPy <https://scipy.org/>`_ 1.8 or later:  To power a variety of
   features in several modules (strongly recommended).
 
 * `Matplotlib <https://matplotlib.org/>`_ 3.5 or later:  To power a
   variety of plotting features (e.g., plotting apertures).
 
-* `scikit-image <https://scikit-image.org/>`_ 0.19 or later: Used for
+* `scikit-image <https://scikit-image.org/>`_ 0.20 or later: Used for
   deblending segmented sources.
 
-* `scikit-learn <https://scikit-learn.org/>`_ 1.0 or later: Used in the
+* `scikit-learn <https://scikit-learn.org/>`_ 1.1 or later: Used in the
   deprecated `~photutils.psf.DBSCANGroup` class to create star groups.
 
 * `GWCS <https://gwcs.readthedocs.io/en/stable/>`_ 0.18 or later:
@@ -45,7 +45,7 @@
   source segments into polygon objects.
 
 Photutils depends on `pytest-astropy
-<https://github.com/astropy/pytest-astropy>`_ (0.10 or later) to run
+<https://github.com/astropy/pytest-astropy>`_ (0.11 or later) to run
 the test suite.
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/docs/whats_new/1.12.rst 
new/photutils-1.12/docs/whats_new/1.12.rst
--- old/photutils-1.11.0/docs/whats_new/1.12.rst        1970-01-01 
01:00:00.000000000 +0100
+++ new/photutils-1.12/docs/whats_new/1.12.rst  2024-04-12 22:47:36.000000000 
+0200
@@ -0,0 +1,13 @@
+.. doctest-skip-all
+
+*****************************
+What's New in Photutils 1.12?
+*****************************
+
+The Photutils 1.12 release was made to support NumPy 2.0.
+
+
+Other changes
+=============
+
+Please see the :ref:`changelog` for the complete list of changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/docs/whats_new/index.rst 
new/photutils-1.12/docs/whats_new/index.rst
--- old/photutils-1.11.0/docs/whats_new/index.rst       2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/docs/whats_new/index.rst 2024-04-12 22:47:36.000000000 
+0200
@@ -5,7 +5,7 @@
 .. toctree::
     :maxdepth: 1
 
-    1.11.rst
+    1.12.rst
 
 
 Past Releases
@@ -18,6 +18,7 @@
 .. toctree::
     :maxdepth: 1
 
+    1.11.rst
     1.10.rst
     1.9.rst
     1.8.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/photutils/CITATION.rst 
new/photutils-1.12/photutils/CITATION.rst
--- old/photutils-1.11.0/photutils/CITATION.rst 2024-02-16 16:41:15.000000000 
+0100
+++ new/photutils-1.12/photutils/CITATION.rst   2024-04-12 22:47:36.000000000 
+0200
@@ -19,7 +19,7 @@
 BibTex files for all Photutils versions can be found at
 https://doi.org/10.5281/zenodo.596036. For example, for Photutils
 v1.8.0 one should cite Bradley et al. 2023 with the BibTeX entry
-(https://zenodo.org/record/7946442/export/hx):
+(https://zenodo.org/records/7946442/export/bibtex):
 
 .. code-block:: text
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/photutils/aperture/mask.py 
new/photutils-1.12/photutils/aperture/mask.py
--- old/photutils-1.11.0/photutils/aperture/mask.py     2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/photutils/aperture/mask.py       2024-04-12 
22:47:36.000000000 +0200
@@ -36,7 +36,7 @@
         self.bbox = bbox
         self._mask = (self.data == 0)
 
-    def __array__(self, dtype=None):
+    def __array__(self, dtype=None, copy=None):
         """
         Array representation of the mask data array (e.g., for
         matplotlib).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/photutils-1.11.0/photutils/aperture/tests/test_mask.py 
new/photutils-1.12/photutils/aperture/tests/test_mask.py
--- old/photutils-1.11.0/photutils/aperture/tests/test_mask.py  2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/photutils/aperture/tests/test_mask.py    2024-04-12 
22:47:36.000000000 +0200
@@ -6,6 +6,7 @@
 import astropy.units as u
 import numpy as np
 import pytest
+from astropy.utils import minversion
 from numpy.testing import assert_allclose, assert_almost_equal
 
 from photutils.aperture.bounding_box import BoundingBox
@@ -13,6 +14,8 @@
 from photutils.aperture.mask import ApertureMask
 from photutils.aperture.rectangle import RectangularAnnulus
 
+NUMPY_LT_2_0 = not minversion(np, '2.0.dev')
+COPY_IF_NEEDED = False if NUMPY_LT_2_0 else None
 POSITIONS = [(-20, -20), (-20, 20), (20, -20), (60, 60)]
 
 
@@ -31,6 +34,45 @@
     assert_allclose(data, mask.data)
 
 
+def test_mask_copy():
+    bbox = BoundingBox(5, 15, 5, 15)
+
+    mask = ApertureMask(np.ones((10, 10)), bbox)
+    mask_copy = np.array(mask, copy=True)
+    mask_copy[0, 0] = 100.0
+    assert mask.data[0, 0] == 1.0
+
+    mask = ApertureMask(np.ones((10, 10)), bbox)
+    mask_copy = np.array(mask, copy=False)
+    mask_copy[0, 0] = 100.0
+    assert mask.data[0, 0] == 100.0
+
+    # no copy; copy=None returns a copy only if __array__ returns a copy
+    # copy=None was introduced in NumPy 2.0
+    mask = ApertureMask(np.ones((10, 10)), bbox)
+    mask_copy = np.array(mask, copy=COPY_IF_NEEDED)
+    mask_copy[0, 0] = 100.0
+    assert mask.data[0, 0] == 100.0
+
+    # needs to copy because of the dtype change
+    mask = ApertureMask(np.ones((10, 10)), bbox)
+    mask_copy = np.array(mask, copy=False, dtype=int)
+    mask_copy[0, 0] = 100
+    assert mask.data[0, 0] == 1.0
+
+    # no copy
+    mask = ApertureMask(np.ones((10, 10)), bbox)
+    mask_copy = np.asarray(mask)
+    mask_copy[0, 0] = 100.0
+    assert mask.data[0, 0] == 100.0
+
+    # needs to copy because of the dtype change
+    mask = ApertureMask(np.ones((10, 10)), bbox)
+    mask_copy = np.asarray(mask, dtype=int)
+    mask_copy[0, 0] = 100.0
+    assert mask.data[0, 0] == 1.0
+
+
 def test_mask_get_overlap_slices():
     aper = CircularAperture((5, 5), r=10.0)
     mask = aper.to_mask()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/photutils-1.11.0/photutils/background/background_2d.py 
new/photutils-1.12/photutils/background/background_2d.py
--- old/photutils-1.11.0/photutils/background/background_2d.py  2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/photutils/background/background_2d.py    2024-04-12 
22:47:36.000000000 +0200
@@ -270,15 +270,18 @@
 
         This method:
           * converts the data to float dtype (and makes a copy)
-          * automatically masks non-finite values
+          * automatically masks non-finite values that aren't already masked
           * replaces all masked values with NaN
           * converts MaskedArray to ndarray using NaN as masked values
         """
         # float array type is needed to insert nans into the array
         self.data = self.data.astype(float)  # makes a copy
 
-        # include non-finite values in the total mask
-        bad_mask = ~np.isfinite(self.data)
+        # add non-finite values not already masked to the total mask
+        if self.mask is not None:
+            bad_mask = ~np.isfinite(self.data) & ~self.mask
+        else:
+            bad_mask = ~np.isfinite(self.data)
         if np.any(bad_mask):
             if self.total_mask is None:
                 self.total_mask = bad_mask
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/photutils-1.11.0/photutils/background/tests/test_background_2d.py 
new/photutils-1.12/photutils/background/tests/test_background_2d.py
--- old/photutils-1.11.0/photutils/background/tests/test_background_2d.py       
2024-02-16 16:41:15.000000000 +0100
+++ new/photutils-1.12/photutils/background/tests/test_background_2d.py 
2024-04-12 22:47:36.000000000 +0200
@@ -203,6 +203,15 @@
             bkg = Background2D(data, (25, 25), filter_size=(1, 1))
         assert_allclose(bkg.background, DATA, rtol=1e-5)
 
+    def test_mask_with_already_masked_nans(self):
+        data = DATA.copy()
+        data[50, 25:50] = np.nan
+        mask = np.isnan(data)
+        # Since NaNs are masked in the input mask, it should not raise a 
warning
+        bkg = Background2D(data, (25, 25), filter_size=(1, 1), mask=mask)
+        assert_equal(bkg.total_mask, mask)
+        assert_allclose(bkg.background, DATA, rtol=1e-5)
+
     def test_masked_array(self):
         data = DATA.copy()
         data[0, 0:50] = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/photutils/conftest.py 
new/photutils-1.12/photutils/conftest.py
--- old/photutils-1.11.0/photutils/conftest.py  2024-02-16 16:41:15.000000000 
+0100
+++ new/photutils-1.12/photutils/conftest.py    2024-04-12 22:47:36.000000000 
+0200
@@ -26,8 +26,8 @@
         # list of packages for which version numbers are displayed when
         # running the tests.
         PYTEST_HEADER_MODULES.clear()
-        deps = ['NumPy', 'SciPy', 'Matplotlib', 'Astropy', 'scikit-image',
-                'scikit-learn', 'GWCS', 'Bottleneck', 'tqdm', 'Rasterio',
+        deps = ['NumPy', 'SciPy', 'Matplotlib', 'Astropy', 'skimage',
+                'sklearn', 'GWCS', 'Bottleneck', 'tqdm', 'Rasterio',
                 'Shapely']
         for dep in deps:
             PYTEST_HEADER_MODULES[dep] = dep.lower()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/photutils-1.11.0/photutils/isophote/tests/test_ellipse.py 
new/photutils-1.12/photutils/isophote/tests/test_ellipse.py
--- old/photutils-1.11.0/photutils/isophote/tests/test_ellipse.py       
2024-02-16 16:41:15.000000000 +0100
+++ new/photutils-1.12/photutils/isophote/tests/test_ellipse.py 2024-04-12 
22:47:36.000000000 +0200
@@ -154,24 +154,3 @@
         ellipse = Ellipse(data)  # estimates initial center
         isolist = ellipse.fit_image()
         assert len(isolist) == 54
-
-
[email protected]_data
[email protected](not HAS_SCIPY, reason='scipy is required')
-class TestEllipseOnRealData:
-    def test_basic(self):
-        path = get_path('isophote/M105-S001-RGB.fits',
-                        location='photutils-datasets', cache=True)
-        hdu = fits.open(path)
-        data = hdu[0].data[0]
-        hdu.close()
-
-        g = EllipseGeometry(530.0, 511, 30.0, 0.2, 20.0 / 180.0 * 3.14)
-
-        ellipse = Ellipse(data, geometry=g)
-        isophote_list = ellipse.fit_image()
-
-        assert len(isophote_list) >= 60
-
-        # check that isophote at about sma=70 got an uneventful fit
-        assert isophote_list.get_closest(70.0).stop_code == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/photutils/psf/tests/test_utils.py 
new/photutils-1.12/photutils/psf/tests/test_utils.py
--- old/photutils-1.11.0/photutils/psf/tests/test_utils.py      2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/photutils/psf/tests/test_utils.py        2024-04-12 
22:47:36.000000000 +0200
@@ -410,6 +410,7 @@
 
 
 @pytest.mark.remote_data
[email protected](not HAS_SCIPY, reason='scipy is required')
 class TestGridFromEPSFs:
     """
     Tests for `photutils.psf.utils.grid_from_epsfs`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/photutils/utils/depths.py 
new/photutils-1.12/photutils/utils/depths.py
--- old/photutils-1.11.0/photutils/utils/depths.py      2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/photutils/utils/depths.py        2024-04-12 
22:47:36.000000000 +0200
@@ -141,8 +141,8 @@
     >>> mask = segment_map.make_source_mask()
     >>> radius = 4
     >>> depth = ImageDepth(radius, nsigma=5.0, napers=500, niters=2,
-    ...                    overlap=False, seed=123, zeropoint=23.9,
-    ...                    progress_bar=False)
+    ...                    mask_pad=5, overlap=False, seed=123,
+    ...                    zeropoint=23.9, progress_bar=False)
     >>> limits = depth(data, mask)
     >>> print(limits)  # doctest: +FLOAT_CMP
     (68.0112578151062, 19.318547982855563)
@@ -187,15 +187,15 @@
                             wspace=0.15)
     """
 
-    def __init__(self, aper_radius, *, nsigma=5.0, mask_pad=5, napers=1000,
+    def __init__(self, aper_radius, *, nsigma=5.0, mask_pad=0, napers=1000,
                  niters=10, overlap=True, overlap_maxiters=100, seed=None,
                  zeropoint=0.0, sigma_clip=SigmaClip(sigma=3.0, maxiters=10),
                  progress_bar=True):
 
         if aper_radius <= 0:
             raise ValueError('aper_radius must be > 0')
-        if mask_pad <= 0:
-            raise ValueError('mask_pad must be > 0')
+        if mask_pad < 0:
+            raise ValueError('mask_pad must be >= 0')
 
         self.aper_radius = aper_radius
         self.nsigma = nsigma
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/photutils-1.11.0/photutils/utils/tests/test_depths.py 
new/photutils-1.12/photutils/utils/tests/test_depths.py
--- old/photutils-1.11.0/photutils/utils/tests/test_depths.py   2024-02-16 
16:41:15.000000000 +0100
+++ new/photutils-1.12/photutils/utils/tests/test_depths.py     2024-04-12 
22:47:36.000000000 +0200
@@ -42,8 +42,8 @@
     def test_image_depth(self, units, overlap):
         radius = 4
         depth = ImageDepth(radius, nsigma=5.0, napers=100, niters=2,
-                           overlap=overlap, seed=123, zeropoint=23.9,
-                           progress_bar=False)
+                           mask_pad=5, overlap=overlap, seed=123,
+                           zeropoint=23.9, progress_bar=False)
 
         if overlap:
             exp_limits = (66.60324687694235, 19.341261496655026)
@@ -67,7 +67,7 @@
     def test_mask_none(self):
         radius = 4
         depth = ImageDepth(radius, nsigma=5.0, napers=100, niters=2,
-                           overlap=True, seed=123, zeropoint=23.9,
+                           mask_pad=5, overlap=True, seed=123, zeropoint=23.9,
                            progress_bar=False)
         limits = depth(self.data, mask=None)
         assert_allclose(limits, (65.21122793974521, 19.36419405467095))
@@ -75,7 +75,7 @@
     def test_many_apertures(self):
         radius = 4
         depth = ImageDepth(radius, nsigma=5.0, napers=5000, niters=2,
-                           overlap=True, seed=123, zeropoint=23.9,
+                           mask_pad=5, overlap=True, seed=123, zeropoint=23.9,
                            progress_bar=False)
         mask = np.zeros(self.data.shape)
         mask[:, 20:] = True
@@ -83,7 +83,7 @@
             depth(self.data, mask)
 
         depth = ImageDepth(radius, nsigma=5.0, napers=250, niters=2,
-                           overlap=False, seed=123, zeropoint=23.9,
+                           mask_pad=5, overlap=False, seed=123, zeropoint=23.9,
                            progress_bar=False)
         mask = np.zeros(self.data.shape)
         mask[:, 100:] = True
@@ -113,7 +113,7 @@
 
     def test_all_masked(self):
         radius = 4
-        depth = ImageDepth(radius, napers=500, niters=1,
+        depth = ImageDepth(radius, napers=500, niters=1, mask_pad=5,
                            overlap=True, seed=123, progress_bar=False)
         data = np.zeros(self.data.shape)
         mask = np.zeros(data.shape, dtype=bool)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/photutils/version.py 
new/photutils-1.12/photutils/version.py
--- old/photutils-1.11.0/photutils/version.py   2024-02-16 16:41:36.000000000 
+0100
+++ new/photutils-1.12/photutils/version.py     2024-04-12 22:47:51.000000000 
+0200
@@ -12,5 +12,5 @@
 __version_tuple__: VERSION_TUPLE
 version_tuple: VERSION_TUPLE
 
-__version__ = version = '1.11.0'
-__version_tuple__ = version_tuple = (1, 11, 0)
+__version__ = version = '1.12.0'
+__version_tuple__ = version_tuple = (1, 12, 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/photutils.egg-info/PKG-INFO 
new/photutils-1.12/photutils.egg-info/PKG-INFO
--- old/photutils-1.11.0/photutils.egg-info/PKG-INFO    2024-02-16 
16:41:36.000000000 +0100
+++ new/photutils-1.12/photutils.egg-info/PKG-INFO      2024-04-12 
22:47:51.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: photutils
-Version: 1.11.0
+Version: 1.12.0
 Summary: An Astropy package for source detection and photometry
 Author-email: Photutils Developers <[email protected]>
 License: Copyright (c) 2011-2023, Photutils Developers
@@ -44,27 +44,27 @@
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
 Classifier: Topic :: Scientific/Engineering :: Astronomy
-Requires-Python: >=3.9
+Requires-Python: >=3.10
 Description-Content-Type: text/x-rst
 License-File: LICENSE.rst
-Requires-Dist: numpy>=1.22
+Requires-Dist: numpy>=1.23
 Requires-Dist: astropy>=5.1
 Provides-Extra: all
-Requires-Dist: scipy>=1.7.2; extra == "all"
+Requires-Dist: scipy>=1.8; extra == "all"
 Requires-Dist: matplotlib>=3.5; extra == "all"
-Requires-Dist: scikit-image>=0.19; extra == "all"
-Requires-Dist: scikit-learn>=1.0; extra == "all"
+Requires-Dist: scikit-image>=0.20; extra == "all"
+Requires-Dist: scikit-learn>=1.1; extra == "all"
 Requires-Dist: gwcs>=0.18; extra == "all"
 Requires-Dist: bottleneck; extra == "all"
 Requires-Dist: tqdm; extra == "all"
 Requires-Dist: rasterio; extra == "all"
 Requires-Dist: shapely; extra == "all"
 Provides-Extra: test
-Requires-Dist: pytest-astropy>=0.10; extra == "test"
+Requires-Dist: pytest-astropy>=0.11; extra == "test"
 Provides-Extra: docs
 Requires-Dist: photutils[all]; extra == "docs"
 Requires-Dist: sphinx; extra == "docs"
-Requires-Dist: sphinx-astropy>=1.6; extra == "docs"
+Requires-Dist: sphinx-astropy>=1.9; extra == "docs"
 Requires-Dist: tomli; python_version < "3.11" and extra == "docs"
 
 =========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/photutils.egg-info/SOURCES.txt 
new/photutils-1.12/photutils.egg-info/SOURCES.txt
--- old/photutils-1.11.0/photutils.egg-info/SOURCES.txt 2024-02-16 
16:41:36.000000000 +0100
+++ new/photutils-1.12/photutils.egg-info/SOURCES.txt   2024-04-12 
22:47:51.000000000 +0200
@@ -76,6 +76,7 @@
 docs/whats_new/1.1.rst
 docs/whats_new/1.10.rst
 docs/whats_new/1.11.rst
+docs/whats_new/1.12.rst
 docs/whats_new/1.2.rst
 docs/whats_new/1.3.rst
 docs/whats_new/1.4.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/photutils.egg-info/requires.txt 
new/photutils-1.12/photutils.egg-info/requires.txt
--- old/photutils-1.11.0/photutils.egg-info/requires.txt        2024-02-16 
16:41:36.000000000 +0100
+++ new/photutils-1.12/photutils.egg-info/requires.txt  2024-04-12 
22:47:51.000000000 +0200
@@ -1,11 +1,11 @@
-numpy>=1.22
+numpy>=1.23
 astropy>=5.1
 
 [all]
-scipy>=1.7.2
+scipy>=1.8
 matplotlib>=3.5
-scikit-image>=0.19
-scikit-learn>=1.0
+scikit-image>=0.20
+scikit-learn>=1.1
 gwcs>=0.18
 bottleneck
 tqdm
@@ -15,10 +15,10 @@
 [docs]
 photutils[all]
 sphinx
-sphinx-astropy>=1.6
+sphinx-astropy>=1.9
 
 [docs:python_version < "3.11"]
 tomli
 
 [test]
-pytest-astropy>=0.10
+pytest-astropy>=0.11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/pyproject.toml 
new/photutils-1.12/pyproject.toml
--- old/photutils-1.11.0/pyproject.toml 2024-02-16 16:41:15.000000000 +0100
+++ new/photutils-1.12/pyproject.toml   2024-04-12 22:47:36.000000000 +0200
@@ -31,9 +31,9 @@
     'Topic :: Scientific/Engineering :: Astronomy',
 ]
 dynamic = ['version']
-requires-python = '>=3.9'
+requires-python = '>=3.10'
 dependencies = [
-    'numpy>=1.22',
+    'numpy>=1.23',
     'astropy>=5.1',
 ]
 
@@ -43,10 +43,10 @@
 
 [project.optional-dependencies]
 all = [
-    'scipy>=1.7.2',
+    'scipy>=1.8',
     'matplotlib>=3.5',
-    'scikit-image>=0.19',
-    'scikit-learn>=1.0',
+    'scikit-image>=0.20',
+    'scikit-learn>=1.1',
     'gwcs>=0.18',
     'bottleneck',
     'tqdm',
@@ -54,12 +54,12 @@
     'shapely',
 ]
 test = [
-    'pytest-astropy>=0.10',
+    'pytest-astropy>=0.11',
 ]
 docs = [
     'photutils[all]',
     'sphinx',
-    'sphinx-astropy>=1.6',
+    'sphinx-astropy>=1.9',
     'tomli; python_version < "3.11"',
 ]
 
@@ -68,7 +68,7 @@
     'setuptools>=61.2',
     'setuptools_scm>=6.2',
     'cython>=3.0.0,<3.1.0',
-    'numpy>=1.25',
+    'numpy>=2.0.0rc1',
     'extension-helpers==1.*',
 ]
 build-backend = 'setuptools.build_meta'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/photutils-1.11.0/tox.ini new/photutils-1.12/tox.ini
--- old/photutils-1.11.0/tox.ini        2024-02-16 16:41:15.000000000 +0100
+++ new/photutils-1.12/tox.ini  2024-04-12 22:47:36.000000000 +0200
@@ -1,7 +1,7 @@
 [tox]
 envlist =
-    py{39,310,311,312}-test{,-alldeps,-devdeps,-oldestdeps,-devinfra}{,-cov}
-    py{39,310,311,312}-test-numpy{122,123,124,125,126}
+    py{310,311,312}-test{,-alldeps,-devdeps,-oldestdeps,-devinfra}{,-cov}
+    py{310,311,312}-test-numpy{123,124,125,126}
     build_docs
     linkcheck
     codestyle
@@ -38,7 +38,6 @@
     devinfra: like devdeps but also dev version of infrastructure
     oldestdeps: with the oldest supported version of key dependencies
     cov: and test coverage
-    numpy122: with numpy 1.22.*
     numpy123: with numpy 1.23.*
     numpy124: with numpy 1.24.*
     numpy125: with numpy 1.25.*
@@ -48,20 +47,19 @@
 deps =
     cov: pytest-cov
 
-    numpy122: numpy==1.22.*
     numpy123: numpy==1.23.*
     numpy124: numpy==1.24.*
     numpy125: numpy==1.25.*
     numpy126: numpy==1.26.*
 
-    oldestdeps: numpy==1.22
+    oldestdeps: numpy==1.23
     oldestdeps: astropy==5.1
-    oldestdeps: scipy==1.7.2
+    oldestdeps: scipy==1.8
     oldestdeps: matplotlib==3.5
-    oldestdeps: scikit-image==0.19
-    oldestdeps: scikit-learn==1.0
+    oldestdeps: scikit-image==0.20
+    oldestdeps: scikit-learn==1.1
     oldestdeps: gwcs==0.18
-    oldestdeps: pytest-astropy==0.10
+    oldestdeps: pytest-astropy==0.11
 
     devdeps: numpy>=0.0.dev0
     devdeps: scipy>=0.0.dev0

Reply via email to