Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-casacore for openSUSE:Factory 
checked in at 2025-04-26 22:25:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-casacore (Old)
 and      /work/SRC/openSUSE:Factory/.python-casacore.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-casacore"

Sat Apr 26 22:25:28 2025 rev:8 rq:1272802 version:3.7.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-casacore/python-casacore.changes  
2024-09-11 16:56:17.988304500 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-casacore.new.30101/python-casacore.changes   
    2025-04-26 22:25:38.503077023 +0200
@@ -1,0 +2,8 @@
+Fri Apr 25 13:54:04 UTC 2025 - Atri Bhattacharya <badshah...@gmail.com>
+
+- Update to version 3.7.1:
+  * No changelog.
+- Drop python-casacore-no-six.patch: upstreamed.
+- Drop unecessary hashbang from a non-exectuable file.
+
+-------------------------------------------------------------------

Old:
----
  python-casacore-no-six.patch
  python_casacore-3.6.1.tar.gz

New:
----
  python_casacore-3.7.1.tar.gz

BETA DEBUG BEGIN:
  Old:  * No changelog.
- Drop python-casacore-no-six.patch: upstreamed.
- Drop unecessary hashbang from a non-exectuable file.
BETA DEBUG END:

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

Other differences:
------------------
++++++ python-casacore.spec ++++++
--- /var/tmp/diff_new_pack.n7cGmC/_old  2025-04-26 22:25:39.279109214 +0200
+++ /var/tmp/diff_new_pack.n7cGmC/_new  2025-04-26 22:25:39.279109214 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-casacore
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,15 +20,13 @@
 %define pythons python3
 %global modname casacore
 Name:           python-casacore
-Version:        3.6.1
+Version:        3.7.1
 Release:        0
 Summary:        A wrapper around CASACORE, the radio astronomy library
 License:        LGPL-3.0-or-later
 Group:          Development/Languages/Python
 URL:            https://github.com/casacore/python-casacore
-Source:         
https://files.pythonhosted.org/packages/source/p/python_casacore/python_casacore-3.6.1.tar.gz
-# 
https://github.com/casacore/python-casacore/commit/afb5cbf88eb6e78dd2aefe53d5ddf5179e1f8110
-Patch0:         python-casacore-no-six.patch
+Source:         
https://files.pythonhosted.org/packages/source/p/python_casacore/python_casacore-%{version}.tar.gz
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module numpy}
 BuildRequires:  %{python_module pip}
@@ -57,6 +55,9 @@
 # empty file masking the module directory
 rm pyrap/images.py
 
+# Unnecessary hashbang
+sed -Ei "1{\@/usr/bin/env python@d}" casacore/tables/wxtablebrowser.py
+
 %build
 export CFLAGS="%{optflags}"
 %pyproject_wheel

++++++ python_casacore-3.6.1.tar.gz -> python_casacore-3.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/CHANGELOG.md 
new/python_casacore-3.7.1/CHANGELOG.md
--- old/python_casacore-3.6.1/CHANGELOG.md      2022-11-09 13:37:21.000000000 
+0100
+++ new/python_casacore-3.7.1/CHANGELOG.md      2022-11-09 13:37:21.000000000 
+0100
@@ -1,3 +1,7 @@
+# 3.7.1
+
+This version as a binary wheel ships with underlying casacore v3.7.1.
+
 # 3.6.1
 
 This version as a binary wheel ships with underlying casacore v3.6.1.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/CMakeLists.txt 
new/python_casacore-3.7.1/CMakeLists.txt
--- old/python_casacore-3.6.1/CMakeLists.txt    2022-11-09 13:37:21.000000000 
+0100
+++ new/python_casacore-3.7.1/CMakeLists.txt    2022-11-09 13:37:21.000000000 
+0100
@@ -9,7 +9,7 @@
 # Find Casacore and its dependencies
 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
 find_package(Casacore REQUIRED)
-find_package(Boost REQUIRED COMPONENTS python)
+find_package(Boost REQUIRED COMPONENTS python3)
 
 # If environment variable CASACORE_DATA is set, assume it points to a directory
 # containing the cascacore data files, and install its contents.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/PKG-INFO 
new/python_casacore-3.7.1/PKG-INFO
--- old/python_casacore-3.6.1/PKG-INFO  2022-11-09 13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/PKG-INFO  2022-11-09 13:37:21.000000000 +0100
@@ -1,174 +1,175 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.2
 Name: python-casacore
-Version: 3.6.1
+Version: 3.7.1
 Summary: A wrapper around CASACORE, the radio astronomy library
 Keywords: pyrap,casacore,utilities,astronomy
 Author-Email: Malte Marquarding <malte.marquard...@gmail.com>, Ger van Diepen 
<gervandie...@gmail.com>, Gijs Molenaar <g...@pythonic.nl>, Tammo Jan Dijkema 
<dijk...@astron.nl>, Marcel Loose <lo...@astron.nl>
 License:                    GNU LESSER GENERAL PUBLIC LICENSE
-                               Version 3, 29 June 2007
-        
-         Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
-         Everyone is permitted to copy and distribute verbatim copies
-         of this license document, but changing it is not allowed.
-        
-        
-          This version of the GNU Lesser General Public License incorporates
-        the terms and conditions of version 3 of the GNU General Public
-        License, supplemented by the additional permissions listed below.
-        
-          0. Additional Definitions.
-        
-          As used herein, "this License" refers to version 3 of the GNU Lesser
-        General Public License, and the "GNU GPL" refers to version 3 of the 
GNU
-        General Public License.
-        
-          "The Library" refers to a covered work governed by this License,
-        other than an Application or a Combined Work as defined below.
-        
-          An "Application" is any work that makes use of an interface provided
-        by the Library, but which is not otherwise based on the Library.
-        Defining a subclass of a class defined by the Library is deemed a mode
-        of using an interface provided by the Library.
-        
-          A "Combined Work" is a work produced by combining or linking an
-        Application with the Library.  The particular version of the Library
-        with which the Combined Work was made is also called the "Linked
-        Version".
-        
-          The "Minimal Corresponding Source" for a Combined Work means the
-        Corresponding Source for the Combined Work, excluding any source code
-        for portions of the Combined Work that, considered in isolation, are
-        based on the Application, and not on the Linked Version.
-        
-          The "Corresponding Application Code" for a Combined Work means the
-        object code and/or source code for the Application, including any data
-        and utility programs needed for reproducing the Combined Work from the
-        Application, but excluding the System Libraries of the Combined Work.
-        
-          1. Exception to Section 3 of the GNU GPL.
-        
-          You may convey a covered work under sections 3 and 4 of this License
-        without being bound by section 3 of the GNU GPL.
-        
-          2. Conveying Modified Versions.
-        
-          If you modify a copy of the Library, and, in your modifications, a
-        facility refers to a function or data to be supplied by an Application
-        that uses the facility (other than as an argument passed when the
-        facility is invoked), then you may convey a copy of the modified
-        version:
-        
-           a) under this License, provided that you make a good faith effort to
-           ensure that, in the event an Application does not supply the
-           function or data, the facility still operates, and performs
-           whatever part of its purpose remains meaningful, or
-        
-           b) under the GNU GPL, with none of the additional permissions of
-           this License applicable to that copy.
-        
-          3. Object Code Incorporating Material from Library Header Files.
-        
-          The object code form of an Application may incorporate material from
-        a header file that is part of the Library.  You may convey such object
-        code under terms of your choice, provided that, if the incorporated
-        material is not limited to numerical parameters, data structure
-        layouts and accessors, or small macros, inline functions and templates
-        (ten or fewer lines in length), you do both of the following:
-        
-           a) Give prominent notice with each copy of the object code that the
-           Library is used in it and that the Library and its use are
-           covered by this License.
-        
-           b) Accompany the object code with a copy of the GNU GPL and this 
license
-           document.
-        
-          4. Combined Works.
-        
-          You may convey a Combined Work under terms of your choice that,
-        taken together, effectively do not restrict modification of the
-        portions of the Library contained in the Combined Work and reverse
-        engineering for debugging such modifications, if you also do each of
-        the following:
-        
-           a) Give prominent notice with each copy of the Combined Work that
-           the Library is used in it and that the Library and its use are
-           covered by this License.
-        
-           b) Accompany the Combined Work with a copy of the GNU GPL and this 
license
-           document.
-        
-           c) For a Combined Work that displays copyright notices during
-           execution, include the copyright notice for the Library among
-           these notices, as well as a reference directing the user to the
-           copies of the GNU GPL and this license document.
-        
-           d) Do one of the following:
-        
-               0) Convey the Minimal Corresponding Source under the terms of 
this
-               License, and the Corresponding Application Code in a form
-               suitable for, and under terms that permit, the user to
-               recombine or relink the Application with a modified version of
-               the Linked Version to produce a modified Combined Work, in the
-               manner specified by section 6 of the GNU GPL for conveying
-               Corresponding Source.
-        
-               1) Use a suitable shared library mechanism for linking with the
-               Library.  A suitable mechanism is one that (a) uses at run time
-               a copy of the Library already present on the user's computer
-               system, and (b) will operate properly with a modified version
-               of the Library that is interface-compatible with the Linked
-               Version.
-        
-           e) Provide Installation Information, but only if you would otherwise
-           be required to provide such information under section 6 of the
-           GNU GPL, and only to the extent that such information is
-           necessary to install and execute a modified version of the
-           Combined Work produced by recombining or relinking the
-           Application with a modified version of the Linked Version. (If
-           you use option 4d0, the Installation Information must accompany
-           the Minimal Corresponding Source and Corresponding Application
-           Code. If you use option 4d1, you must provide the Installation
-           Information in the manner specified by section 6 of the GNU GPL
-           for conveying Corresponding Source.)
-        
-          5. Combined Libraries.
-        
-          You may place library facilities that are a work based on the
-        Library side by side in a single library together with other library
-        facilities that are not Applications and are not covered by this
-        License, and convey such a combined library under terms of your
-        choice, if you do both of the following:
-        
-           a) Accompany the combined library with a copy of the same work based
-           on the Library, uncombined with any other library facilities,
-           conveyed under the terms of this License.
-        
-           b) Give prominent notice with the combined library that part of it
-           is a work based on the Library, and explaining where to find the
-           accompanying uncombined form of the same work.
-        
-          6. Revised Versions of the GNU Lesser General Public License.
-        
-          The Free Software Foundation may publish revised and/or new versions
-        of the GNU Lesser General Public License from time to time. Such new
-        versions will be similar in spirit to the present version, but may
-        differ in detail to address new problems or concerns.
-        
-          Each version is given a distinguishing version number. If the
-        Library as you received it specifies that a certain numbered version
-        of the GNU Lesser General Public License "or any later version"
-        applies to it, you have the option of following the terms and
-        conditions either of that published version or of any later version
-        published by the Free Software Foundation. If the Library as you
-        received it does not specify a version number of the GNU Lesser
-        General Public License, you may choose any version of the GNU Lesser
-        General Public License ever published by the Free Software Foundation.
-        
-          If the Library as you received it specifies that a proxy can decide
-        whether future versions of the GNU Lesser General Public License shall
-        apply, that proxy's public statement of acceptance of any version is
-        permanent authorization for you to choose that version for the
-        Library.
+                                Version 3, 29 June 2007
+         
+          Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+          Everyone is permitted to copy and distribute verbatim copies
+          of this license document, but changing it is not allowed.
+         
+         
+           This version of the GNU Lesser General Public License incorporates
+         the terms and conditions of version 3 of the GNU General Public
+         License, supplemented by the additional permissions listed below.
+         
+           0. Additional Definitions.
+         
+           As used herein, "this License" refers to version 3 of the GNU Lesser
+         General Public License, and the "GNU GPL" refers to version 3 of the 
GNU
+         General Public License.
+         
+           "The Library" refers to a covered work governed by this License,
+         other than an Application or a Combined Work as defined below.
+         
+           An "Application" is any work that makes use of an interface provided
+         by the Library, but which is not otherwise based on the Library.
+         Defining a subclass of a class defined by the Library is deemed a mode
+         of using an interface provided by the Library.
+         
+           A "Combined Work" is a work produced by combining or linking an
+         Application with the Library.  The particular version of the Library
+         with which the Combined Work was made is also called the "Linked
+         Version".
+         
+           The "Minimal Corresponding Source" for a Combined Work means the
+         Corresponding Source for the Combined Work, excluding any source code
+         for portions of the Combined Work that, considered in isolation, are
+         based on the Application, and not on the Linked Version.
+         
+           The "Corresponding Application Code" for a Combined Work means the
+         object code and/or source code for the Application, including any data
+         and utility programs needed for reproducing the Combined Work from the
+         Application, but excluding the System Libraries of the Combined Work.
+         
+           1. Exception to Section 3 of the GNU GPL.
+         
+           You may convey a covered work under sections 3 and 4 of this License
+         without being bound by section 3 of the GNU GPL.
+         
+           2. Conveying Modified Versions.
+         
+           If you modify a copy of the Library, and, in your modifications, a
+         facility refers to a function or data to be supplied by an Application
+         that uses the facility (other than as an argument passed when the
+         facility is invoked), then you may convey a copy of the modified
+         version:
+         
+            a) under this License, provided that you make a good faith effort 
to
+            ensure that, in the event an Application does not supply the
+            function or data, the facility still operates, and performs
+            whatever part of its purpose remains meaningful, or
+         
+            b) under the GNU GPL, with none of the additional permissions of
+            this License applicable to that copy.
+         
+           3. Object Code Incorporating Material from Library Header Files.
+         
+           The object code form of an Application may incorporate material from
+         a header file that is part of the Library.  You may convey such object
+         code under terms of your choice, provided that, if the incorporated
+         material is not limited to numerical parameters, data structure
+         layouts and accessors, or small macros, inline functions and templates
+         (ten or fewer lines in length), you do both of the following:
+         
+            a) Give prominent notice with each copy of the object code that the
+            Library is used in it and that the Library and its use are
+            covered by this License.
+         
+            b) Accompany the object code with a copy of the GNU GPL and this 
license
+            document.
+         
+           4. Combined Works.
+         
+           You may convey a Combined Work under terms of your choice that,
+         taken together, effectively do not restrict modification of the
+         portions of the Library contained in the Combined Work and reverse
+         engineering for debugging such modifications, if you also do each of
+         the following:
+         
+            a) Give prominent notice with each copy of the Combined Work that
+            the Library is used in it and that the Library and its use are
+            covered by this License.
+         
+            b) Accompany the Combined Work with a copy of the GNU GPL and this 
license
+            document.
+         
+            c) For a Combined Work that displays copyright notices during
+            execution, include the copyright notice for the Library among
+            these notices, as well as a reference directing the user to the
+            copies of the GNU GPL and this license document.
+         
+            d) Do one of the following:
+         
+                0) Convey the Minimal Corresponding Source under the terms of 
this
+                License, and the Corresponding Application Code in a form
+                suitable for, and under terms that permit, the user to
+                recombine or relink the Application with a modified version of
+                the Linked Version to produce a modified Combined Work, in the
+                manner specified by section 6 of the GNU GPL for conveying
+                Corresponding Source.
+         
+                1) Use a suitable shared library mechanism for linking with the
+                Library.  A suitable mechanism is one that (a) uses at run time
+                a copy of the Library already present on the user's computer
+                system, and (b) will operate properly with a modified version
+                of the Library that is interface-compatible with the Linked
+                Version.
+         
+            e) Provide Installation Information, but only if you would 
otherwise
+            be required to provide such information under section 6 of the
+            GNU GPL, and only to the extent that such information is
+            necessary to install and execute a modified version of the
+            Combined Work produced by recombining or relinking the
+            Application with a modified version of the Linked Version. (If
+            you use option 4d0, the Installation Information must accompany
+            the Minimal Corresponding Source and Corresponding Application
+            Code. If you use option 4d1, you must provide the Installation
+            Information in the manner specified by section 6 of the GNU GPL
+            for conveying Corresponding Source.)
+         
+           5. Combined Libraries.
+         
+           You may place library facilities that are a work based on the
+         Library side by side in a single library together with other library
+         facilities that are not Applications and are not covered by this
+         License, and convey such a combined library under terms of your
+         choice, if you do both of the following:
+         
+            a) Accompany the combined library with a copy of the same work 
based
+            on the Library, uncombined with any other library facilities,
+            conveyed under the terms of this License.
+         
+            b) Give prominent notice with the combined library that part of it
+            is a work based on the Library, and explaining where to find the
+            accompanying uncombined form of the same work.
+         
+           6. Revised Versions of the GNU Lesser General Public License.
+         
+           The Free Software Foundation may publish revised and/or new versions
+         of the GNU Lesser General Public License from time to time. Such new
+         versions will be similar in spirit to the present version, but may
+         differ in detail to address new problems or concerns.
+         
+           Each version is given a distinguishing version number. If the
+         Library as you received it specifies that a certain numbered version
+         of the GNU Lesser General Public License "or any later version"
+         applies to it, you have the option of following the terms and
+         conditions either of that published version or of any later version
+         published by the Free Software Foundation. If the Library as you
+         received it does not specify a version number of the GNU Lesser
+         General Public License, you may choose any version of the GNU Lesser
+         General Public License ever published by the Free Software Foundation.
+         
+           If the Library as you received it specifies that a proxy can decide
+         whether future versions of the GNU Lesser General Public License shall
+         apply, that proxy's public statement of acceptance of any version is
+         permanent authorization for you to choose that version for the
+         Library.
+         
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Science/Research
 Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 
(LGPLv3)
@@ -178,9 +179,8 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Topic :: Scientific/Engineering :: Astronomy
 Project-URL: Homepage, https://github.com/casacore/python-casacore
-Requires-Python: >=3.7
+Requires-Python: >=3.8
 Requires-Dist: numpy
-Requires-Dist: six
 Description-Content-Type: text/x-rst
 
 python-casacore
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/_version.py 
new/python_casacore-3.7.1/casacore/_version.py
--- old/python_casacore-3.6.1/casacore/_version.py      2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/_version.py      2022-11-09 
13:37:21.000000000 +0100
@@ -1,8 +1,13 @@
-# file generated by setuptools_scm
+# file generated by setuptools-scm
 # don't change, don't track in version control
+
+__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
+
 TYPE_CHECKING = False
 if TYPE_CHECKING:
-    from typing import Tuple, Union
+    from typing import Tuple
+    from typing import Union
+
     VERSION_TUPLE = Tuple[Union[int, str], ...]
 else:
     VERSION_TUPLE = object
@@ -12,5 +17,5 @@
 __version_tuple__: VERSION_TUPLE
 version_tuple: VERSION_TUPLE
 
-__version__ = version = '3.6.1'
-__version_tuple__ = version_tuple = (3, 6, 1)
+__version__ = version = '3.7.1'
+__version_tuple__ = version_tuple = (3, 7, 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/fitting/fitting.py 
new/python_casacore-3.7.1/casacore/fitting/fitting.py
--- old/python_casacore-3.6.1/casacore/fitting/fitting.py       2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/fitting/fitting.py       2022-11-09 
13:37:21.000000000 +0100
@@ -1,10 +1,6 @@
-from __future__ import print_function
-
 from ._fitting import fitting
 import numpy as NUM
-import six
 from casacore.functionals import *
-from six import string_types
 
 
 class fitserver(object):
@@ -102,13 +98,13 @@
             return False
 
     def _gettype(self, ftype):
-        if isinstance(ftype, string_types):
+        if isinstance(ftype, str):
             ftype = ftype.lower()
             if ftype not in self._typeids:
                 raise TypeError("Illegal fitting type")
             else:
                 return self._typeids[ftype]
-        elif isinstance(ftype, six.integer_types):
+        elif isinstance(ftype, int):
             if ftype not in self._typeids.values():
                 raise TypeError("Illegal fitting type")
         else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python_casacore-3.6.1/casacore/functionals/functional.py 
new/python_casacore-3.7.1/casacore/functionals/functional.py
--- old/python_casacore-3.6.1/casacore/functionals/functional.py        
2022-11-09 13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/functionals/functional.py        
2022-11-09 13:37:21.000000000 +0100
@@ -1,4 +1,3 @@
-from six import string_types, integer_types
 from ._functionals import _functional
 
 import numpy
@@ -20,19 +19,19 @@
 
 class functional(_functional):
     def __init__(self, name=None, order=-1, params=None, mode=None, dtype=0):
-        if isinstance(dtype, string_types):
+        if isinstance(dtype, str):
             dtypes = {'real': 0, 'complex': 1}
             dtype = dtypes.get(dtype.lower())
         if numpy.iscomplexobj(params):
             dtype = 1
         self._dtype = dtype
         progtext = ""
-        if not isinstance(name, string_types):
+        if not isinstance(name, str):
             raise TypeError("'name' was not of type string")
-        if not (isinstance(order, integer_types) or isinstance(order, 
string_types)):
+        if not (isinstance(order, int) or isinstance(order, str)):
             raise TypeError("'order' was not of type integer or string")
         else:
-            if isinstance(order, string_types):
+            if isinstance(order, str):
                 progtext = order
                 order = -1
         # our own functionals server
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/images/coordinates.py 
new/python_casacore-3.7.1/casacore/images/coordinates.py
--- old/python_casacore-3.6.1/casacore/images/coordinates.py    2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/images/coordinates.py    2022-11-09 
13:37:21.000000000 +0100
@@ -25,8 +25,6 @@
 #
 # $Id$
 
-from __future__ import print_function
-
 
 class coordinatesystem(object):
     """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/images/image.py 
new/python_casacore-3.7.1/casacore/images/image.py
--- old/python_casacore-3.6.1/casacore/images/image.py  2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/images/image.py  2022-11-09 
13:37:21.000000000 +0100
@@ -23,9 +23,6 @@
 #                        520 Edgemont Road
 #                        Charlottesville, VA 22903-2475 USA
 
-from __future__ import print_function
-
-from six import string_types, integer_types
 from ._images import Image
 import numpy
 import numpy.ma as nma
@@ -128,7 +125,7 @@
             if isinstance(imagename, tuple) or isinstance(imagename, list):
                 if len(imagename) == 0:
                     raise ValueError('No images given in list or tuple')
-                if isinstance(imagename[0], string_types):
+                if isinstance(imagename[0], str):
                     # Concatenate from image names
                     Image.__init__(self, imagename, axis)
                     opened = True
@@ -137,7 +134,7 @@
                     Image.__init__(self, imagename, axis, 0, 0)
                     opened = True
             if not opened:
-                if not isinstance(imagename, string_types):
+                if not isinstance(imagename, str):
                     raise ValueError("first argument must be name or" +
                                      " sequence of images or names")
                 if shape is None:
@@ -259,7 +256,7 @@
         It can only be used for unique attribute keys. An IndexError exception
         is raised if no or multiple matches are found.
         """
-        if not isinstance(key, string_types):
+        if not isinstance(key, str):
             return self._attrgetrow(groupname, key)
         # The key is an attribute name whose value has to be found.
         rownrs = self.attrfindrows(groupname, key, value)
@@ -610,7 +607,7 @@
 
     def _adaptAxes(self, axes):
         # If axes is a single integer value, turn it into a list.
-        if isinstance(axes, integer_types):
+        if isinstance(axes, int):
             axes = [axes]
         # ImageProxy expects Fortran-numbered axes.
         # So reverse the axes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/measures/__init__.py 
new/python_casacore-3.7.1/casacore/measures/__init__.py
--- old/python_casacore-3.6.1/casacore/measures/__init__.py     2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/measures/__init__.py     2022-11-09 
13:37:21.000000000 +0100
@@ -31,7 +31,6 @@
 import casacore.quanta as dq
 import os
 
-from six import string_types
 
 if 'MEASURESDATA' in os.environ.keys():
     if 'AIPSPATH' not in os.environ.keys():
@@ -436,7 +435,7 @@
         """
         if is_measure(rfq) and rfq['type'] == 'frequency':
             rfq = dq.quantity(rfq['m0'])
-        elif isinstance(rfq, string_types):
+        elif isinstance(rfq, str):
             rfq = dq.quantity(rfq)
         if is_measure(v0) and v0['type'] == 'doppler' \
                 and dq.is_quantity(rfq) \
@@ -488,7 +487,7 @@
         """
         if is_measure(rfq) and rfq['type'] == 'frequency':
             rfq = dq.quantity(rfq['m0'])
-        elif isinstance(rfq, string_types):
+        elif isinstance(rfq, str):
             rfq = dq.quantity(rfq)
         if is_measure(v0):
             if v0['type'] == 'radialvelocity':
@@ -823,7 +822,7 @@
         """
 
         a = self.rise(crd, ev)
-        if isinstance(a['rise'], string_types):
+        if isinstance(a['rise'], str):
             return {"rise": {"last": a[0], "utc": a[0]},
                     "set": {"last": a[1], "utc": a[1]},
                     "solved": False}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/quanta/quantity.py 
new/python_casacore-3.7.1/casacore/quanta/quantity.py
--- old/python_casacore-3.6.1/casacore/quanta/quantity.py       2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/quanta/quantity.py       2022-11-09 
13:37:21.000000000 +0100
@@ -1,4 +1,3 @@
-from six import string_types
 from ._quanta import QuantVec
 from ._quanta import Quantity
 from ._quanta import from_string, from_dict, from_dict_v
@@ -52,7 +51,7 @@
 
     """
     if len(args) == 1:
-        if isinstance(args[0], string_types):
+        if isinstance(args[0], str):
             # use copy constructor to create quantity from string
             return Quantity(from_string(args[0]))
         elif isinstance(args[0], dict):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/tables/msutil.py 
new/python_casacore-3.7.1/casacore/tables/msutil.py
--- old/python_casacore-3.6.1/casacore/tables/msutil.py 2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/tables/msutil.py 2022-11-09 
13:37:21.000000000 +0100
@@ -23,9 +23,6 @@
 #                        520 Edgemont Road
 #                        Charlottesville, VA 22903-2475 USA
 #
-from __future__ import print_function
-
-from six import string_types
 import numpy as np
 from casacore.tables.table import (table, taql,
                                    _required_ms_desc,
@@ -315,7 +312,7 @@
     for key in keywords:
         if key != 'SORTED_TABLE':
             val = keywords[key]
-            if isinstance(val, string_types):
+            if isinstance(val, str):
                 tsub = table(val, ack=False)
                 tsubn = tsub.copy(newname + '/' + key, deep=True)
                 tnew.putkeyword(key, tsubn)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/tables/table.py 
new/python_casacore-3.7.1/casacore/tables/table.py
--- old/python_casacore-3.6.1/casacore/tables/table.py  2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/tables/table.py  2022-11-09 
13:37:21.000000000 +0100
@@ -36,9 +36,6 @@
 
 """
 
-from __future__ import print_function
-
-from six import string_types
 from ._tables import (Table,
                       _default_ms,
                       _default_ms_subtable,
@@ -47,8 +44,6 @@
 
 from .tablehelper import (_add_prefix, _remove_prefix, _do_remove_prefix,
                           _format_row)
-import six
-
 
 def default_ms(name, tabdesc=None, dminfo=None):
     """
@@ -344,7 +339,7 @@
             #  - concatenate open tables (ConcatTable)
             tabname = _remove_prefix(tablename)
             lockopt = lockoptions
-            if isinstance(lockoptions, string_types):
+            if isinstance(lockoptions, str):
                 lockopt = {'option': lockoptions}
             if isinstance(tabledesc, dict):
                 # Create a new table.
@@ -371,7 +366,7 @@
                     opt = 5
                     if _delete:
                         opt = 6
-                if isinstance(tabname, string_types):
+                if isinstance(tabname, str):
                     Table.__init__(self, tabname, lockopt, opt)
                     if ack:
                         print('Successful', typstr, 'open of',
@@ -379,7 +374,7 @@
                               tabname + ':',
                               self.ncols(), 'columns,',
                               self.nrows(), 'rows')
-                elif isinstance(tabname[0], string_types):
+                elif isinstance(tabname[0], str):
                     # Concatenate and open named tables.
                     Table.__init__(self, tabname, concatsubtables,
                                    lockopt, opt)
@@ -1277,7 +1272,7 @@
         of the struct value of the i-th keyword.
 
         """
-        if isinstance(keyword, string_types):
+        if isinstance(keyword, str):
             return self._getfieldnames('', keyword, -1)
         else:
             return self._getfieldnames('', '', keyword)
@@ -1299,7 +1294,7 @@
         of the struct value of the i-th keyword.
 
         """
-        if isinstance(keyword, string_types):
+        if isinstance(keyword, str):
             return self._getfieldnames(columnname, keyword, -1)
         else:
             return self._getfieldnames(columnname, '', keyword)
@@ -1327,7 +1322,7 @@
         of the i-th keyword.
 
         """
-        if isinstance(keyword, string_types):
+        if isinstance(keyword, str):
             return self._getkeyword('', keyword, -1)
         else:
             return self._getkeyword('', '', keyword)
@@ -1338,7 +1333,7 @@
         It is similar to :func:`getkeyword`.
 
         """
-        if isinstance(keyword, string_types):
+        if isinstance(keyword, str):
             return self._getkeyword(columnname, keyword, -1)
         else:
             return self._getkeyword(columnname, '', keyword)
@@ -1366,7 +1361,7 @@
         keyset = self.getkeywords()
         names = []
         for key, value in keyset.items():
-            if isinstance(value, string_types) and value.find('Table: ') == 0:
+            if isinstance(value, str) and value.find('Table: ') == 0:
                 names.append(_do_remove_prefix(value))
         return names
 
@@ -1402,7 +1397,7 @@
         val = value
         if isinstance(val, table):
             val = _add_prefix(val.name())
-        if isinstance(keyword, string_types):
+        if isinstance(keyword, str):
             return self._putkeyword('', keyword, -1, makesubrecord, val)
         else:
             return self._putkeyword('', '', keyword, makesubrecord, val)
@@ -1416,7 +1411,7 @@
         val = value
         if isinstance(val, table):
             val = _add_prefix(val.name())
-        if isinstance(keyword, string_types):
+        if isinstance(keyword, str):
             return self._putkeyword(columnname, keyword, -1,
                                     makesubrecord, val)
         else:
@@ -1451,7 +1446,7 @@
         the i-th keyword.
 
         """
-        if isinstance(keyword, string_types):
+        if isinstance(keyword, str):
             self._removekeyword('', keyword, -1)
         else:
             self._removekeyword('', '', keyword)
@@ -1462,7 +1457,7 @@
         It is similar to :func:`removekeyword`.
 
         """
-        if isinstance(keyword, string_types):
+        if isinstance(keyword, str):
             self._removekeyword(columnname, keyword, -1)
         else:
             self._removekeyword(columnname, '', keyword)
@@ -1482,7 +1477,7 @@
         # as these aren't valid. (See tabledefinehypercolumn)
         hcdefs = tabledesc.get('_define_hypercolumn_', {})
 
-        for c, hcdef in six.iteritems(hcdefs):
+        for c, hcdef in hcdefs.items():
             if "HCcoordnames" in hcdef and len(hcdef["HCcoordnames"]) == 0:
                 del hcdef["HCcoordnames"]
             if "HCidnames" in hcdef and len(hcdef["HCidnames"]) == 0:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/tables/tablehelper.py 
new/python_casacore-3.7.1/casacore/tables/tablehelper.py
--- old/python_casacore-3.6.1/casacore/tables/tablehelper.py    2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/tables/tablehelper.py    2022-11-09 
13:37:21.000000000 +0100
@@ -25,7 +25,6 @@
 #
 # $Id: tableutil.py,v 1.6 2006/11/08 00:12:55 gvandiep Exp $
 
-from six import string_types, integer_types
 import numpy
 import re
 from ..quanta import quantity
@@ -42,7 +41,7 @@
 def _do_remove_prefix(name):
     """Strip the possible prefix 'Table: ' from a table name."""
     res = name
-    if isinstance(res, string_types):
+    if isinstance(res, str):
         if res.find('Table: ') == 0:
             res = res.replace('Table: ', '', 1)
     return res
@@ -50,7 +49,7 @@
 
 def _remove_prefix(name):
     """Strip the possible prefix 'Table: ' from one or more table names."""
-    if isinstance(name, string_types):
+    if isinstance(name, str):
         return _do_remove_prefix(name)
     return [_do_remove_prefix(nm) for nm in name]
 
@@ -114,13 +113,13 @@
 def _value_type_name(value):
     if isinstance(value, bool):
         return 'boolean'
-    if isinstance(value, integer_types):
+    if isinstance(value, int):
         return 'integer'
     if isinstance(value, float):
         return 'double'
     if isinstance(value, complex):
         return 'dcomplex'
-    if isinstance(value, string_types):
+    if isinstance(value, str):
         return 'string'
     if isinstance(value, dict):
         return 'record'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/tables/tableutil.py 
new/python_casacore-3.7.1/casacore/tables/tableutil.py
--- old/python_casacore-3.6.1/casacore/tables/tableutil.py      2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/tables/tableutil.py      2022-11-09 
13:37:21.000000000 +0100
@@ -24,11 +24,8 @@
 #                        Charlottesville, VA 22903-2475 USA
 #
 
-from __future__ import print_function
-
 from collections import defaultdict
 
-import six
 from .table import table
 from .tablehelper import _remove_prefix, _value_type_name
 
@@ -484,92 +481,92 @@
     return rec
 
 def makedminfo(tabdesc, group_spec=None):
-  """Creates a data manager information object.
+    """Creates a data manager information object.
 
-  Create a data manager information dictionary outline from a table 
description.
-  The resulting dictionary is a bare outline and is available for the purposes 
of
-  further customising the data manager via the `group_spec` argument.
-
-  The resulting dictionary can be used in the :class:`table` constructor and
-  the :meth:`default_ms` and :meth:`default_ms_subtable` functions.
-
-  `tabdesc`
-    The table description
-  `group_spec`
-    The SPEC for a data manager group. In practice this is useful for
-    setting the Default Tile Size and Maximum Cache Size for the Data Manager::
-
-      {
-        'WeightColumnGroup' : {
-          'DEFAULTTILESHAPE': np.int32([4,4,4]),
-          'MAXIMUMCACHESIZE': 1000,
+    Create a data manager information dictionary outline from a table 
description.
+    The resulting dictionary is a bare outline and is available for the 
purposes of
+    further customising the data manager via the `group_spec` argument.
+
+    The resulting dictionary can be used in the :class:`table` constructor and
+    the :meth:`default_ms` and :meth:`default_ms_subtable` functions.
+
+    `tabdesc`
+      The table description
+    `group_spec`
+      The SPEC for a data manager group. In practice this is useful for
+      setting the Default Tile Size and Maximum Cache Size for the Data 
Manager::
+
+        {
+          'WeightColumnGroup' : {
+            'DEFAULTTILESHAPE': np.int32([4,4,4]),
+            'MAXIMUMCACHESIZE': 1000,
+          }
         }
-      }
-
-    This should be used with care.
 
-  """
-  if group_spec is None:
-    group_spec = {}
+      This should be used with care.
 
-  class DMGroup(object):
     """
-    Keep track of the columns, type and spec of each data manager group
-    """
-    def __init__(self):
-      self.columns = []
-      self.type = None
-      self.spec = None
-
-  dm_groups = defaultdict(DMGroup)
-
-  # Iterate through the table columns, grouping them
-  # by their dataManagerGroup
-  for c, d in six.iteritems(tabdesc):
-    if c in ('_define_hypercolumn_', '_keywords_', '_private_keywords_'):
-      continue
-
-    # Extract group and data manager type
-    group = d.get("dataManagerGroup", "StandardStMan")
-    type_ = d.get("dataManagerType", "StandardStMan")
-
-    # Set defaults if necessary
-    if not group:
-      group = "StandardStMan"
-
-    if not type_:
-      type_ = "StandardStMan"
-
-    # Obtain the (possibly empty) data manager group
-    dm_group = dm_groups[group]
-
-    # Add the column
-    dm_group.columns.append(c)
-
-    # Set the spec
-    if dm_group.spec is None:
-      dm_group.spec = group_spec.get(group, {})
-
-    # Check that the data manager type is consistent across columns
-    if dm_group.type is None:
-      dm_group.type = type_
-    elif not dm_group.type == type_:
-      raise ValueError("Mismatched dataManagerType '%s' "
-                        "for dataManagerGroup '%s' "
-                        "Previously, the type was '%s'" %
-                            (type_, group, dm_group.type))
-
-  # Output a data manager entry
-  return {
-    '*%d'%(i+1): {
-      'COLUMNS': dm_group.columns,
-      'TYPE': dm_group.type,
-      'NAME': group,
-      'SPEC' : dm_group.spec,
-      'SEQNR': i
-    } for i, (group, dm_group)
-    in enumerate(six.iteritems(dm_groups))
-  }
+    if group_spec is None:
+        group_spec = {}
+
+    class DMGroup(object):
+        """
+        Keep track of the columns, type and spec of each data manager group
+        """
+        def __init__(self):
+            self.columns = []
+            self.type = None
+            self.spec = None
+
+    dm_groups = defaultdict(DMGroup)
+
+    # Iterate through the table columns, grouping them
+    # by their dataManagerGroup
+    for c, d in tabdesc.items():
+        if c in ('_define_hypercolumn_', '_keywords_', '_private_keywords_'):
+            continue
+
+        # Extract group and data manager type
+        group = d.get("dataManagerGroup", "StandardStMan")
+        type_ = d.get("dataManagerType", "StandardStMan")
+
+        # Set defaults if necessary
+        if not group:
+            group = "StandardStMan"
+
+        if not type_:
+            type_ = "StandardStMan"
+
+        # Obtain the (possibly empty) data manager group
+        dm_group = dm_groups[group]
+
+        # Add the column
+        dm_group.columns.append(c)
+
+        # Set the spec
+        if dm_group.spec is None:
+            dm_group.spec = group_spec.get(group, {})
+
+        # Check that the data manager type is consistent across columns
+        if dm_group.type is None:
+            dm_group.type = type_
+        elif not dm_group.type == type_:
+            raise ValueError("Mismatched dataManagerType '%s' "
+                              "for dataManagerGroup '%s' "
+                              "Previously, the type was '%s'" %
+                                  (type_, group, dm_group.type))
+
+    # Output a data manager entry
+    return {
+      '*%d'%(i+1): {
+        'COLUMNS': dm_group.columns,
+        'TYPE': dm_group.type,
+        'NAME': group,
+        'SPEC' : dm_group.spec,
+        'SEQNR': i
+      } for i, (group, dm_group)
+      in enumerate(dm_groups.items())
+    }
 
 # Create the old glish names for them.
 tablecreatescalarcoldesc = makescacoldesc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python_casacore-3.6.1/casacore/tables/wxtablebrowser.py 
new/python_casacore-3.7.1/casacore/tables/wxtablebrowser.py
--- old/python_casacore-3.6.1/casacore/tables/wxtablebrowser.py 2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/tables/wxtablebrowser.py 2022-11-09 
13:37:21.000000000 +0100
@@ -1,4 +1,4 @@
-from __future__ import print_function
+#!/usr/bin/env python
 
 from wxPython.grid import *
 from wxPython.wx import *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/casacore/util/substitute.py 
new/python_casacore-3.7.1/casacore/util/substitute.py
--- old/python_casacore-3.6.1/casacore/util/substitute.py       2022-11-09 
13:37:21.000000000 +0100
+++ new/python_casacore-3.7.1/casacore/util/substitute.py       2022-11-09 
13:37:21.000000000 +0100
@@ -23,7 +23,6 @@
 #                        520 Edgemont Road
 #                        Charlottesville, VA 22903-2475 USA
 
-from six import string_types
 import numpy as np
 
 __all__ = ['getlocals', 'getvariable', 'substitute']
@@ -266,7 +265,7 @@
 def substituteonevar(v):
     # A string needs to be enclosed in quotes.
     # A vector value is enclosed in square brackets and separated by commas.
-    if isinstance(v, string_types):
+    if isinstance(v, str):
         return substitutestring(v)
     # A numeric or boolean value is converted to a string.
     # A vector value is enclosed in square brackets and separated by commas.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/pypi-token.txt 
new/python_casacore-3.7.1/pypi-token.txt
--- old/python_casacore-3.6.1/pypi-token.txt    2022-11-09 13:37:21.000000000 
+0100
+++ new/python_casacore-3.7.1/pypi-token.txt    1970-01-01 01:00:00.000000000 
+0100
@@ -1 +0,0 @@
-pypi-AgEIcHlwaS5vcmcCJDk5ZjBmODc1LWE4ODQtNGY4Yy04MDhiLWVhOTA2YzI1NjNiNgACF1sxLFsicHl0aG9uLWNhc2Fjb3JlIl1dAAIsWzIsWyIzMzQwOWJkYi1iYWFhLTQ3MzItODI4My0zOWYwYzc2ZGY5ODkiXV0AAAYg2EdnL912GlgFCEZFf8clZeiE1sK092mL74z8pHpmOfk
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python_casacore-3.6.1/pyproject.toml 
new/python_casacore-3.7.1/pyproject.toml
--- old/python_casacore-3.6.1/pyproject.toml    2022-11-09 13:37:21.000000000 
+0100
+++ new/python_casacore-3.7.1/pyproject.toml    2022-11-09 13:37:21.000000000 
+0100
@@ -20,7 +20,7 @@
 keywords = ["pyrap", "casacore", "utilities", "astronomy"]
 license = {file = "LICENSE"}
 readme = {file = "README.rst", content-type = "text/x-rst"}
-requires-python = ">=3.7"
+requires-python = ">=3.8"
 authors = [
     {name = "Malte Marquarding", email = "malte.marquard...@gmail.com"},
     {name = "Ger van Diepen", email = "gervandie...@gmail.com"},
@@ -40,7 +40,6 @@
 ]
 dependencies = [
     "numpy",
-    "six",
 ]
 
 [project.urls]
@@ -52,7 +51,7 @@
 #########################
 
 [tool.cibuildwheel]
-build = "cp3{7,8,9,10,11,12}-*_x86_64"
+build = "cp3{8,9,10,11,12,13}-*_x86_64"
 build-verbosity = 1
 environment = """ \
     CXXFLAGS="-I/usr/include/cfitsio" \
@@ -70,28 +69,28 @@
 skip = ["*-musllinux_*"]
 
 [[tool.cibuildwheel.overrides]]
-select="cp37-*"
-manylinux-x86_64-image = "quay.io/casacore/casacore:py37_v3.6.1"
-
-[[tool.cibuildwheel.overrides]]
 select="cp38-*"
-manylinux-x86_64-image = "quay.io/casacore/casacore:py38_v3.6.1"
+manylinux-x86_64-image = "quay.io/casacore/casacore:py38_v3.7.1"
 
 [[tool.cibuildwheel.overrides]]
 select="cp39-*"
-manylinux-x86_64-image = "quay.io/casacore/casacore:py39_v3.6.1"
+manylinux-x86_64-image = "quay.io/casacore/casacore:py39_v3.7.1"
 
 [[tool.cibuildwheel.overrides]]
 select="cp310-*"
-manylinux-x86_64-image = "quay.io/casacore/casacore:py310_v3.6.1"
+manylinux-x86_64-image = "quay.io/casacore/casacore:py310_v3.7.1"
 
 [[tool.cibuildwheel.overrides]]
 select="cp311-*"
-manylinux-x86_64-image = "quay.io/casacore/casacore:py311_v3.6.1"
+manylinux-x86_64-image = "quay.io/casacore/casacore:py311_v3.7.1"
 
 [[tool.cibuildwheel.overrides]]
 select="cp312-*"
-manylinux-x86_64-image = "quay.io/casacore/casacore:py312_v3.6.1"
+manylinux-x86_64-image = "quay.io/casacore/casacore:py312_v3.7.1"
+
+[[tool.cibuildwheel.overrides]]
+select="cp313-*"
+manylinux-x86_64-image = "quay.io/casacore/casacore:py313_v3.7.1"
 
 
 #########################

Reply via email to