Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-slycot for openSUSE:Factory 
checked in at 2025-11-21 16:56:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-slycot (Old)
 and      /work/SRC/openSUSE:Factory/.python-slycot.new.2061 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-slycot"

Fri Nov 21 16:56:06 2025 rev:20 rq:1318917 version:0.6.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-slycot/python-slycot.changes      
2024-04-07 22:12:59.485951624 +0200
+++ /work/SRC/openSUSE:Factory/.python-slycot.new.2061/python-slycot.changes    
2025-11-21 16:56:57.255057871 +0100
@@ -1,0 +2,7 @@
+Thu Nov 20 17:33:56 UTC 2025 - Ben Greiner <[email protected]>
+
+- Update to 0.6.1
+  * Fixed a segmentation fault in ab09nd (gh-243).
+  * Updated licensing data format; Slycot had deprecated format.
+
+-------------------------------------------------------------------

Old:
----
  slycot-0.6.0.tar.gz

New:
----
  slycot-0.6.1.tar.gz

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

Other differences:
------------------
++++++ python-slycot.spec ++++++
--- /var/tmp/diff_new_pack.wCoXhe/_old  2025-11-21 16:56:57.931086358 +0100
+++ /var/tmp/diff_new_pack.wCoXhe/_new  2025-11-21 16:56:57.931086358 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-slycot
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           python-slycot
-Version:        0.6.0
+Version:        0.6.1
 Release:        0
 Summary:        A wrapper for the SLICOT control and systems library
 License:        BSD-3-Clause AND GPL-2.0-only

++++++ slycot-0.6.0.tar.gz -> slycot-0.6.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/.github/conda-env/build-env.yml 
new/slycot-0.6.1/.github/conda-env/build-env.yml
--- old/slycot-0.6.0/.github/conda-env/build-env.yml    2024-03-05 
12:26:36.000000000 +0100
+++ new/slycot-0.6.1/.github/conda-env/build-env.yml    1970-01-01 
01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-name: build-env
-dependencies:
-  - boa
-  - numpy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/.github/scripts/run-tests.sh 
new/slycot-0.6.1/.github/scripts/run-tests.sh
--- old/slycot-0.6.0/.github/scripts/run-tests.sh       2024-03-05 
12:26:36.000000000 +0100
+++ new/slycot-0.6.1/.github/scripts/run-tests.sh       2025-11-15 
13:17:39.000000000 +0100
@@ -16,8 +16,10 @@
 # don't care about deprecation warnings here
 donttest="$donttest or test_default_deprecation"
 pytest control/tests \
+        -m slycot \
         --cov=$slycot_libdir \
         --cov-config=${slycot_srcdir}/.coveragerc \
+        --ignore=control/tests/docstrings_test.py \
         -k "not ($donttest)"
 mv .coverage ${slycot_srcdir}/.coverage.control
 popd
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/slycot-0.6.0/.github/scripts/set-conda-test-matrix.py 
new/slycot-0.6.1/.github/scripts/set-conda-test-matrix.py
--- old/slycot-0.6.0/.github/scripts/set-conda-test-matrix.py   2023-10-20 
21:54:44.000000000 +0200
+++ new/slycot-0.6.1/.github/scripts/set-conda-test-matrix.py   2025-11-15 
13:17:39.000000000 +0100
@@ -10,15 +10,13 @@
          'win': 'windows',
          }
 
-blas_implementations = ['unset', 'Generic', 'OpenBLAS', 'Intel10_64lp']
-
-combinations = {'ubuntu': blas_implementations,
-                'macos': blas_implementations,
+combinations = {'ubuntu': ['unset', 'Generic', 'OpenBLAS', 'Intel10_64lp'],
+                'macos': ['unset', 'Generic', 'OpenBLAS'],
                 'windows': ['unset', 'Intel10_64lp'],
                }
 
 conda_jobs = []
-for conda_pkg_file in Path("slycot-conda-pkgs").glob("*/*.tar.bz2"):
+for conda_pkg_file in Path("slycot-conda-pkgs").glob("*/*.conda"):
     cos = osmap[conda_pkg_file.parent.name.split("-")[0]]
     m = re.search(r'py(\d)(\d+)_', conda_pkg_file.name)
     pymajor, pyminor = int(m[1]), int(m[2])
@@ -30,5 +28,8 @@
                 'blas_lib':  cbl}
         conda_jobs.append(cjob)
 
+if not conda_jobs:
+    raise SystemExit("No conda packages found")
+
 matrix = { 'include': conda_jobs }
 print(json.dumps(matrix))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/slycot-0.6.0/.github/workflows/slycot-build-and-test.yml 
new/slycot-0.6.1/.github/workflows/slycot-build-and-test.yml
--- old/slycot-0.6.0/.github/workflows/slycot-build-and-test.yml        
2024-04-05 16:03:05.000000000 +0200
+++ new/slycot-0.6.1/.github/workflows/slycot-build-and-test.yml        
2025-11-15 13:17:39.000000000 +0100
@@ -12,6 +12,24 @@
 
 jobs:
 
+  ruff-lint:
+    name: Static lint checks with ruff
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout Slycot
+        uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+          submodules: 'recursive'
+      - name: Set up Python
+        uses: actions/setup-python@v4
+        with:
+          python-version: '3.11'
+      - name: Run ruff check
+        run: |
+          pip install ruff
+          ruff check slycot
+
   build-sdist:
     # Super fast sniff build. If this fails, don't start the other jobs
     name: Build sdist on Ubuntu
@@ -106,14 +124,14 @@
             unset | Generic | Apple ) ;; # Found in system
             OpenBLAS )
               brew install openblas
-              echo "BLAS_ROOT=/usr/local/opt/openblas/" >> $GITHUB_ENV
-              echo "LAPACK_ROOT=/usr/local/opt/openblas/" >> $GITHUB_ENV
+              echo "LDFLAGS=-L/opt/homebrew/opt/openblas/lib" >> $GITHUB_ENV
+              echo "CPPFLAGS=-I/opt/homebrew/opt/openblas/include" >> 
$GITHUB_ENV
               ;;
             *)
               echo "bla_vendor option ${{ matrix.bla_vendor }} not supported"
               exit 1 ;;
           esac
-          echo "FC=gfortran-11" >> $GITHUB_ENV
+          echo "FC=gfortran-14" >> $GITHUB_ENV
       - name: Build wheel
         env:
           BLA_VENDOR: ${{ matrix.bla_vendor }}
@@ -126,13 +144,14 @@
           mkdir -p ${wheeldir}
           cp ./slycot*.whl ${wheeldir}/
       - name: Save wheel
-        uses: actions/upload-artifact@v3
+        uses: actions/upload-artifact@v4
         with:
-          name: slycot-wheels
+          name: slycot-wheels-${{ matrix.os }}-${{ matrix.python }}-${{ 
matrix.bla_vendor }}
           path: slycot-wheels
+          retention-days: 5
 
   build-conda:
-    name: Build conda, ${{ matrix.os }}
+    name: Build conda, ${{ matrix.os }} ${{ matrix.python }}
     runs-on: ${{ matrix.os }}-latest
     needs: build-sdist
     strategy:
@@ -143,8 +162,7 @@
             - 'macos'
             - 'windows'
           python:
-          # this is not the packaged version, just the version conda-build 
runs on.
-            - '3.11'
+            - '3.13'
 
     steps:
       - name: Checkout Slycot
@@ -153,33 +171,34 @@
           fetch-depth: 0
           submodules: 'recursive'
       - name: Setup Conda
-        uses: conda-incubator/setup-miniconda@v2
+        uses: conda-incubator/setup-miniconda@v3
         with:
+          auto-update-conda: true
           python-version: ${{ matrix.python }}
           activate-environment: build-env
-          environment-file: .github/conda-env/build-env.yml
           miniforge-version: latest
-          miniforge-variant: Mambaforge
+          conda-build-version: 25.7.0
           channel-priority: strict
-          auto-update-conda: false
-          auto-activate-base: false
       - name: Conda build
-        shell: bash -l {0}
+        shell: bash -el {0}
         run: |
           set -e
-          conda mambabuild conda-recipe
+          conda build conda-recipe --python ${{ matrix.python }}
           # preserve directory structure for custom conda channel
-          find "${CONDA_PREFIX}/conda-bld" -maxdepth 2 -name 'slycot*.tar.bz2' 
| while read -r conda_pkg; do
+          CONDA_ROOT=$(conda info --base)
+          find "${CONDA_ROOT}/conda-bld" -maxdepth 2 -name 'slycot*.conda' | 
while read -r conda_pkg; do
             conda_platform=$(basename $(dirname "${conda_pkg}"))
             mkdir -p "slycot-conda-pkgs/${conda_platform}"
             cp "${conda_pkg}" "slycot-conda-pkgs/${conda_platform}/"
           done
-          python -m conda_index ./slycot-conda-pkgs
+          conda index ./slycot-conda-pkgs
       - name: Save to local conda pkg channel
-        uses: actions/upload-artifact@v3
+        uses: actions/upload-artifact@v4
         with:
-          name: slycot-conda-pkgs
+          name: slycot-conda-pkgs-${{ matrix.os }}-${{ matrix.python }}
           path: slycot-conda-pkgs
+          retention-days: 5
+
 
   create-wheel-test-matrix:
     name: Create wheel test matrix
@@ -189,15 +208,23 @@
     outputs:
       matrix: ${{ steps.set-matrix.outputs.matrix }}
     steps:
+      - name: Merge artifacts
+        uses: actions/upload-artifact/merge@v4
+        with:
+          name: slycot-wheels
+          pattern: slycot-wheels-*
       - name: Checkout Slycot
         uses: actions/checkout@v3
       - name: Download wheels (if any)
-        uses: actions/download-artifact@v3
+        uses: actions/download-artifact@v4
         with:
           name: slycot-wheels
           path: slycot-wheels
       - id: set-matrix
-        run: echo "matrix=$(python3 .github/scripts/set-pip-test-matrix.py)" 
>> $GITHUB_OUTPUT
+        run: |
+          TEMPFILE="$(mktemp)"
+          python3 .github/scripts/set-pip-test-matrix.py | tee $TEMPFILE
+          echo "matrix=$(cat $TEMPFILE)" >> $GITHUB_OUTPUT
 
   create-conda-test-matrix:
     name: Create conda test matrix
@@ -207,15 +234,23 @@
     outputs:
       matrix: ${{ steps.set-matrix.outputs.matrix }}
     steps:
+      - name: Merge artifacts
+        uses: actions/upload-artifact/merge@v4
+        with:
+          name: slycot-conda-pkgs
+          pattern: slycot-conda-pkgs-*
       - name: Checkout Slycot
         uses: actions/checkout@v3
       - name: Download conda packages
-        uses: actions/download-artifact@v3
+        uses: actions/download-artifact@v4
         with:
           name: slycot-conda-pkgs
           path: slycot-conda-pkgs
       - id: set-matrix
-        run: echo "matrix=$(python3 .github/scripts/set-conda-test-matrix.py)" 
>> $GITHUB_OUTPUT
+        run: |
+          TEMPFILE="$(mktemp)"
+          python3 .github/scripts/set-conda-test-matrix.py | tee $TEMPFILE
+          echo "matrix=$(cat $TEMPFILE)" >> $GITHUB_OUTPUT
 
 
   test-wheel:
@@ -249,7 +284,7 @@
           sudo apt-get -y update
           case ${{ matrix.blas_lib }} in
             Generic )  sudo apt-get -y install libblas3 liblapack3 ;;
-            unset | OpenBLAS        ) sudo apt-get -y install libopenblas-base 
;;
+            unset | OpenBLAS        ) sudo apt-get -y install libopenblas0 ;;
             *)
               echo "BLAS ${{ matrix.blas_lib }} not supported for wheels on 
Ubuntu"
               exit 1 ;;
@@ -272,7 +307,7 @@
               exit 1 ;;
           esac
       - name: Download wheels
-        uses: actions/download-artifact@v3
+        uses: actions/download-artifact@v4
         with:
           name: slycot-wheels
           path: slycot-wheels
@@ -305,7 +340,7 @@
 
     defaults:
       run:
-        shell: bash -l {0}
+        shell: bash -el {0}
 
     steps:
       - name: Checkout Slycot
@@ -321,17 +356,17 @@
         if: matrix.os == 'macos'
         run: brew install coreutils
       - name: Setup Conda
-        uses: conda-incubator/setup-miniconda@v2
+        uses: conda-incubator/setup-miniconda@v3
         with:
           python-version: ${{ matrix.python }}
           miniforge-version: latest
-          miniforge-variant: Mambaforge
           activate-environment: test-env
           environment-file: slycot-src/.github/conda-env/test-env.yml
+          channels: conda-forge,defaults
           channel-priority: strict
           auto-activate-base: false
       - name: Download conda packages
-        uses: actions/download-artifact@v3
+        uses: actions/download-artifact@v4
         with:
           name: slycot-conda-pkgs
           path: slycot-conda-pkgs
@@ -340,25 +375,25 @@
           set -e
           case ${{ matrix.blas_lib }} in
             unset        ) # the conda-forge default (os dependent)
-              mamba install libblas libcblas liblapack
+              conda install libblas libcblas liblapack
               ;;
             Generic      )
-              mamba install 'libblas=*=*netlib' 'libcblas=*=*netlib' 
'liblapack=*=*netlib'
+              conda install 'libblas=*=*netlib' 'libcblas=*=*netlib' 
'liblapack=*=*netlib'
               echo "libblas * *netlib" >> $CONDA_PREFIX/conda-meta/pinned
               ;;
             OpenBLAS     )
-              mamba install 'libblas=*=*openblas' openblas
+              conda install 'libblas=*=*openblas' openblas
               echo "libblas * *openblas" >> $CONDA_PREFIX/conda-meta/pinned
               ;;
             Intel10_64lp )
-              mamba install 'libblas=*=*mkl' mkl
+              conda install 'libblas=*=*mkl' mkl
               echo "libblas * *mkl" >> $CONDA_PREFIX/conda-meta/pinned
               ;;
           esac
-          mamba install -c ./slycot-conda-pkgs slycot
+          conda install -c ./slycot-conda-pkgs slycot
           conda list
       - name: Slycot and python-control tests
-        run: JOBNAME="$JOBNAME" bash slycot-src/.github/scripts/run-tests.sh
+        run: JOBNAME="$JOBNAME" bash -el 
slycot-src/.github/scripts/run-tests.sh
         env:
           JOBNAME: conda ${{ matrix.packagekey }} ${{ matrix.blas_lib }}
       - name: report coverage
@@ -368,6 +403,7 @@
           parallel: true
           file: slycot-src/coverage.xml
 
+
   coveralls-final:
     name: Finalize parallel coveralls
     if: always()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/PKG-INFO new/slycot-0.6.1/PKG-INFO
--- old/slycot-0.6.0/PKG-INFO   2024-04-05 16:03:25.813995100 +0200
+++ new/slycot-0.6.1/PKG-INFO   2025-11-16 06:46:15.501143000 +0100
@@ -1,17 +1,14 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: slycot
-Version: 0.6.0
+Version: 0.6.1
 Summary: A wrapper for the SLICOT control and systems library
 Author: Enrico Avventi et al.
 Maintainer-email: Slycot developers 
<[email protected]>
-License: GPL-2.0 AND BSD-3-Clause
+License-Expression: GPL-2.0 AND BSD-3-Clause
 Project-URL: homepage, https://github.com/python-control/Slycot
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Science/Research
 Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved
-Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
-Classifier: License :: OSI Approved :: BSD License
 Classifier: Programming Language :: C
 Classifier: Programming Language :: Fortran
 Classifier: Programming Language :: Python
@@ -29,6 +26,7 @@
 License-File: COPYING
 License-File: AUTHORS
 Requires-Dist: numpy>=1.23.1
+Dynamic: license-file
 
 Slycot
 ======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/conda-recipe/bld.bat 
new/slycot-0.6.1/conda-recipe/bld.bat
--- old/slycot-0.6.0/conda-recipe/bld.bat       2024-01-07 17:15:54.000000000 
+0100
+++ new/slycot-0.6.1/conda-recipe/bld.bat       2025-11-15 13:17:39.000000000 
+0100
@@ -1,5 +1,3 @@
-:: correct FC, apparently pointed to host prefix??
-set FC=%BUILD_PREFIX%\Library\bin\flang.exe
 set BLAS_ROOT=%PREFIX%
 set LAPACK_ROOT=%PREFIX%
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/conda-recipe/conda_build_config.yaml 
new/slycot-0.6.1/conda-recipe/conda_build_config.yaml
--- old/slycot-0.6.0/conda-recipe/conda_build_config.yaml       2024-03-05 
12:26:36.000000000 +0100
+++ new/slycot-0.6.1/conda-recipe/conda_build_config.yaml       2025-11-15 
13:17:39.000000000 +0100
@@ -1,46 +1,47 @@
-# 
https://github.com/conda-forge/blas-feedstock/issues/106#issuecomment-1771747983
-# 
https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/conda_build_config.yaml
-# 
https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/migrations/python312.yaml
-
-# zip_keys Python/Numpy matrix to build for
-python:
-    - 3.10.* *_cpython
-    - 3.12.* *_cpython
-numpy:
-    - 1.23
-    - 1.26
-
-zip_keys:
-  -
-    - python
-    - numpy
-
-# Compiler selection
+MACOSX_DEPLOYMENT_TARGET:
+- '11.0' # [osx]
+MACOSX_SDK_VERSION:
+- '11.0' # [osx]
 c_compiler:
-  - gcc                        # [linux]
-  - clang                      # [osx]
-  - vs2019                     # [win and x86_64]
-  - vs2022                     # [win and arm64]
-c_compiler_version:            # [unix]
-  - 12                         # [linux]
-  - 16                         # [osx]
-fortran_compiler:              # [unix or win64]
-  - gfortran                   # [linux64 or (osx and x86_64)]
-  - gfortran                   # [aarch64 or ppc64le or armv7l or s390x]
-  - flang                      # [win64]
-fortran_compiler_version:      # [unix or win64]
-  - 12                         # [linux]
-  - 12                         # [osx]
-  - 5                          # [win64]
-
-# Pinning
-
-# blas
+- vs2022 # [win64]
+- gcc # [linux]
+- clang # [osx]
+c_compiler_version:
+- '14' # [linux]
+- '19' # [osx]
+c_stdlib:
+- vs # [win64]
+- sysroot #[linux]
+- macosx_deployment_target # [osx]
+c_stdlib_version:
+- '2.17' # [linux]
+- '11.0' # [osx]
+cdt_name:
+- conda # [linux]
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+fortran_compiler:
+- flang # [win64]
+- gfortran # [linux or osx]
+fortran_compiler_version:
+- '5' # [win64]
+- '14' # [linux or osx]
 libblas:
-  - 3.9 *netlib
+- 3.9 *netlib
 libcblas:
-  - 3.9 *netlib
+- 3.9 *netlib
 liblapack:
-  - 3.9 *netlib
-liblapacke:
-  - 3.9 *netlib
\ No newline at end of file
+- 3.9 *netlib
+numpy:
+- '2'
+pin_run_as_build:
+  python:
+    min_pin: x.x
+    max_pin: x.x
+python:
+- 3.10.* *_cpython
+- 3.11.* *_cpython
+- 3.12.* *_cpython
+- 3.13.* *_cp313
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/conda-recipe/meta.yaml 
new/slycot-0.6.1/conda-recipe/meta.yaml
--- old/slycot-0.6.0/conda-recipe/meta.yaml     2024-01-07 17:15:54.000000000 
+0100
+++ new/slycot-0.6.1/conda-recipe/meta.yaml     2025-11-15 13:17:39.000000000 
+0100
@@ -11,8 +11,13 @@
 
 requirements:
   build:
+    - python                                 # [build_platform != 
target_platform]
+    - cross-python_{{ target_platform }}     # [build_platform != 
target_platform]
+    - numpy                                  # [build_platform != 
target_platform]
+    - scikit-build >=0.15                    # [build_platform != 
target_platform]
     - {{ compiler('fortran') }}
     - {{ compiler('c') }}
+    - {{ stdlib("c") }}
     - cmake >=3.14
     - make  # [linux]
   host:
@@ -26,8 +31,7 @@
     - setuptools >=45
     - setuptools_scm >=7
   run:
-    - python {{ PY_VER }}
-    - {{ pin_compatible('numpy') }}
+    - python
 
 test:
   requires:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/pyproject.toml 
new/slycot-0.6.1/pyproject.toml
--- old/slycot-0.6.0/pyproject.toml     2024-03-05 12:26:36.000000000 +0100
+++ new/slycot-0.6.1/pyproject.toml     2025-11-16 06:45:01.000000000 +0100
@@ -14,14 +14,11 @@
 readme = "README.rst"
 authors = [{ name = "Enrico Avventi et al." }]
 maintainers = [{ name = "Slycot developers", email = 
"[email protected]"}]
-license = {text = "GPL-2.0 AND BSD-3-Clause"}
+license = "GPL-2.0 AND BSD-3-Clause"
 classifiers = [
     "Development Status :: 4 - Beta",
     "Intended Audience :: Science/Research",
     "Intended Audience :: Developers",
-    "License :: OSI Approved",
-    "License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
-    "License :: OSI Approved :: BSD License",
     "Programming Language :: C",
     "Programming Language :: Fortran",
     "Programming Language :: Python",
@@ -51,3 +48,6 @@
 [tool.pytest.ini_options]
 # run the tests with compiled and installed package
 addopts = "--pyargs slycot"
+
+[tool.ruff.lint]
+ignore = [ "E741" ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/__init__.py 
new/slycot-0.6.1/slycot/__init__.py
--- old/slycot-0.6.0/slycot/__init__.py 2024-04-05 16:02:23.000000000 +0200
+++ new/slycot-0.6.1/slycot/__init__.py 2025-11-02 17:28:35.000000000 +0100
@@ -79,6 +79,17 @@
 
     from .version import __version__
 
+    __all__ = [
+        ab01nd, ab04md, ab05md, ab05nd, ab07nd, ab08nd, ab08nz,
+        ab09ad, ab09ax, ab09bd, ab09md, ab09nd, ab13bd, ab13dd,
+        ab13ed, ab13fd, ab13md, ag08bd, mb02ed, mb03rd, mb03vd,
+        mb03vy, mb03wd, mb05md, mb05nd, mc01td, sb01bd, sb02md,
+        sb02mt, sb02od, sb03md, sb03md57, sb03od, sb04md, sb04qd,
+        sb10ad, sb10dd, sb10fd, sb10hd, sb10jd, sb10yd, sg02ad,
+        sg03ad, sg03bd, tb01id, tb01pd, tb03ad, tb04ad, tb05ad,
+        tc01od, tc04ad, td04ad, tf01md, tf01rd, tg01ad, tg01fd,
+        __version__
+        ]
 
 def test():
     import pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/analysis.py 
new/slycot-0.6.1/slycot/analysis.py
--- old/slycot-0.6.0/slycot/analysis.py 2024-01-07 17:16:32.000000000 +0100
+++ new/slycot-0.6.1/slycot/analysis.py 2025-10-18 17:36:36.000000000 +0200
@@ -1827,7 +1827,7 @@
     else:
         fact='F'
         if len(x) != m+mr-1:
-            raise ValueError(f'Require len(x)==m+mr-1, but'
+            raise ValueError('Require len(x)==m+mr-1, but'
                              + f' len(x)={len(x)}, m={m}, mr={mr}')
         x = np.concatenate([x,np.zeros(2*m-1-len(x))])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/examples.py 
new/slycot-0.6.1/slycot/examples.py
--- old/slycot-0.6.0/slycot/examples.py 2022-07-10 12:32:17.000000000 +0200
+++ new/slycot-0.6.1/slycot/examples.py 2025-10-18 17:36:36.000000000 +0200
@@ -33,7 +33,6 @@
     print('rcond =', out[1])
     
 def sb03md_example():
-    from numpy import zeros
     A = array([ [3, 1, 1],
                 [1, 3, 0],
                 [0, 0, 3]])
@@ -47,7 +46,7 @@
     print('scaling factor:', out[3])
     
 def ab08nd_example():
-    from numpy import zeros, size
+    from numpy import zeros
     from scipy.linalg import eigvals
     A = array([ [1, 0, 0, 0, 0, 0],
                 [0, 1, 0, 0, 0, 0],
@@ -153,7 +152,7 @@
         print('The polynomial has', out[2], 'unstable zeros')
         
 def sb02od_example():
-    from numpy import zeros, shape, dot, ones
+    from numpy import dot, ones
     A = array([ [0, 1],
                 [0, 0]])
     B = array([ [0],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/src/SLICOT-Reference/.git 
new/slycot-0.6.1/slycot/src/SLICOT-Reference/.git
--- old/slycot-0.6.0/slycot/src/SLICOT-Reference/.git   2021-02-07 
21:42:18.000000000 +0100
+++ new/slycot-0.6.1/slycot/src/SLICOT-Reference/.git   2025-10-18 
12:17:57.000000000 +0200
@@ -1 +1 @@
-gitdir: ../../../.git/modules/slycot/src/SLICOT-reference
+gitdir: ../../../.git/modules/slycot/src/SLICOT-Reference
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/src/analysis.pyf 
new/slycot-0.6.1/slycot/src/analysis.pyf
--- old/slycot-0.6.0/slycot/src/analysis.pyf    2023-08-26 12:32:53.000000000 
+0200
+++ new/slycot-0.6.1/slycot/src/analysis.pyf    2025-11-15 12:43:59.000000000 
+0100
@@ -315,7 +315,7 @@
     double precision intent(out),dimension(n),depend(n) :: hsv
     double precision :: tol1 =0.0
     double precision :: tol2 =0.0
-    integer intent(hide,cache),dimension(max(m,p)) :: iwork
+    integer intent(hide,cache),dimension(max(1,2*n)) :: iwork
     double precision intent(hide,cache),dimension(ldwork) :: dwork
     integer optional :: ldwork = max(1,n*(2*n+max(n,max(m,p))+5)+n*(n+1)/2)
     integer intent(out) :: iwarn
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/tests/test_ab09nd.py 
new/slycot-0.6.1/slycot/tests/test_ab09nd.py
--- old/slycot-0.6.0/slycot/tests/test_ab09nd.py        1970-01-01 
01:00:00.000000000 +0100
+++ new/slycot-0.6.1/slycot/tests/test_ab09nd.py        2025-10-18 
17:36:36.000000000 +0200
@@ -0,0 +1,93 @@
+# ab09nd - model order reduction
+
+import numpy as np
+from slycot import ab09nd
+
+# SLICOT reference test; see SLICOT-Reference/examples/AB09ND.dat, AB09ND.res, 
TAB09ND.f
+def test_slicot_ref():
+    n = 7
+    m = 2
+    p = 3
+    nr = None # Slycot uses None for ordsel = 'A'
+    alpha = -0.6
+    tol1 = 1e-1
+    tol2 = 1e-14
+    dico = 'C'
+    job = 'N'
+    equil = 'N'
+
+    a = np.array([[-0.04165, 0.0000, 4.9200, -4.9200, 0.0000, 0.0000, 0.0000],
+                  [-5.2100, -12.500, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000],
+                  [0.0000, 3.3300, -3.3300, 0.0000, 0.0000, 0.0000, 0.0000],
+                  [0.5450, 0.0000, 0.0000, 0.0000, -0.5450, 0.0000, 0.0000],
+                  [0.0000, 0.0000, 0.0000, 4.9200, -0.04165, 0.0000, 4.9200],
+                  [0.0000, 0.0000, 0.0000, 0.0000, -5.2100, -12.500, 0.0000],
+                  [0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 3.3300, -3.3300]])
+
+    b = np.array([[0.0000, 0.0000],
+                  [12.500, 0.0000],
+                  [0.0000, 0.0000],
+                  [0.0000, 0.0000],
+                  [0.0000, 0.0000],
+                  [0.0000, 12.500],
+                  [0.0000, 0.0000]])
+
+    c = np.array([[1.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000],
+                  [0.0000, 0.0000, 0.0000, 1.0000, 0.0000, 0.0000, 0.0000],
+                  [0.0000, 0.0000, 0.0000, 0.0000, 1.0000, 0.0000, 0.0000]])
+
+    d = np.zeros((3,2))
+
+    nr, ar, br, cr, dr, ns, hsv = \
+            ab09nd(dico, job, equil, n, m, p, a, b, c, d, alpha, nr, tol1, 
tol2)
+
+    # reference values
+    ref_nr = 5
+    ref_hsv = np.array([1.9178, 0.8621, 0.7666, 0.0336, 0.0246])
+    ref_ar = np.array([[-0.5181, -1.1084,  0.0000,  0.0000,  0.0000],
+                       [ 8.8157, -0.5181,  0.0000,  0.0000,  0.0000],
+                       [ 0.0000,  0.0000,  0.5847,  0.0000,  1.9230],
+                       [ 0.0000,  0.0000,  0.0000, -1.6606,  0.0000],
+                       [ 0.0000,  0.0000, -4.3823,  0.0000, -3.2922]])
+
+    ref_br = np.array([[-1.2837,  1.2837],
+                       [-0.7522,  0.7522],
+                       [-0.6379, -0.6379],
+                       [ 2.0656, -2.0656],
+                       [-3.9315, -3.9315]])
+
+    ref_cr = np.array([[-0.1380, -0.6445, -0.6416, -0.6293, 0.2526],
+                       [ 0.6246,  0.0196,  0.0000,  0.4107, 0.0000],
+                       [ 0.1380,  0.6445, -0.6416,  0.6293, 0.2526]])
+
+    ref_dr = np.array([[ 0.0582, -0.0090],
+                       [ 0.0015, -0.0015],
+                       [-0.0090,  0.0582]])
+
+    assert nr == ref_nr
+
+    np.testing.assert_array_almost_equal(hsv[:nr], ref_hsv, decimal=4)
+    np.testing.assert_array_almost_equal(ar, ref_ar, decimal=4)
+    np.testing.assert_array_almost_equal(br, ref_br, decimal=4)
+    np.testing.assert_array_almost_equal(cr, ref_cr, decimal=4)
+    np.testing.assert_array_almost_equal(dr, ref_dr, decimal=4)
+
+
+# gh-242 regression test
+# iwork was incorrectly sized
+def test_gh242_regression():
+    n = 67
+    m = 1
+    p = 1
+
+    a = -np.eye(n)
+    b = np.zeros((n, m))
+    c = np.zeros((p, n))
+    d = np.array([[42.24]])
+
+    nr, ar, br, cr, dr, ns, hsv = \
+        ab09nd(dico='C', job='B', equil='S', n=a.shape[0],
+               m=b.shape[1], p=c.shape[0], A=a, B=b, C=c, D=d)
+
+    assert nr == 0
+    np.testing.assert_equal(d, dr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/tests/test_ab13bd.py 
new/slycot-0.6.1/slycot/tests/test_ab13bd.py
--- old/slycot-0.6.0/slycot/tests/test_ab13bd.py        2023-09-22 
09:45:52.000000000 +0200
+++ new/slycot-0.6.1/slycot/tests/test_ab13bd.py        2025-10-18 
17:36:36.000000000 +0200
@@ -2,7 +2,7 @@
 # ab08n* tests
 
 import numpy as np
-from numpy.testing import assert_allclose, assert_array_equal, assert_equal
+from numpy.testing import assert_allclose, assert_array_equal
 from scipy import linalg, signal
 
 from slycot import analysis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/tests/test_ab13md.py 
new/slycot-0.6.1/slycot/tests/test_ab13md.py
--- old/slycot-0.6.0/slycot/tests/test_ab13md.py        2023-09-22 
09:45:52.000000000 +0200
+++ new/slycot-0.6.1/slycot/tests/test_ab13md.py        2025-10-18 
17:36:36.000000000 +0200
@@ -1,6 +1,6 @@
 import numpy as np
 import pytest
-from numpy.testing import assert_allclose, assert_array_less
+from numpy.testing import assert_allclose
 
 from slycot import ab13md
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/tests/test_mb.py 
new/slycot-0.6.1/slycot/tests/test_mb.py
--- old/slycot-0.6.0/slycot/tests/test_mb.py    2023-09-24 16:08:05.000000000 
+0200
+++ new/slycot-0.6.1/slycot/tests/test_mb.py    2025-10-18 17:36:36.000000000 
+0200
@@ -2,8 +2,6 @@
 # test_mb.py - test suite for linear algebra commands
 # bnavigator <[email protected]>, Aug 2019
 
-import sys
-
 import numpy as np
 import pytest
 from numpy.testing import assert_allclose
@@ -96,19 +94,6 @@
             [1.0000, 2.0000],
         ]
     )
-    X = np.array(
-        [
-            [0.2408, 0.4816],
-            [0.1558, 0.3116],
-            [0.1534, 0.3068],
-            [0.2302, 0.4603],
-            [0.1467, 0.2934],
-            [0.1537, 0.3075],
-            [0.2349, 0.4698],
-            [0.1498, 0.2995],
-            [0.1653, 0.3307],
-        ]
-    )
 
     # Test for wrong parameter typet
     with pytest.raises(expected_exception=SlycotParameterError, match='typet 
must be either "R" or "C"') as cm:
@@ -162,19 +147,6 @@
             [1.0000, 2.0000],
         ]
     )
-    X = np.array(
-        [
-            [0.2408, 0.4816],
-            [0.1558, 0.3116],
-            [0.1534, 0.3068],
-            [0.2302, 0.4603],
-            [0.1467, 0.2934],
-            [0.1537, 0.3075],
-            [0.2349, 0.4698],
-            [0.1498, 0.2995],
-            [0.1653, 0.3307],
-        ]
-    )
 
     with pytest.raises(SlycotArithmeticError,
                        match = "The reduction algorithm failed. "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/tests/test_sb.py 
new/slycot-0.6.1/slycot/tests/test_sb.py
--- old/slycot-0.6.0/slycot/tests/test_sb.py    2023-09-22 09:45:52.000000000 
+0200
+++ new/slycot-0.6.1/slycot/tests/test_sb.py    2025-10-18 17:36:36.000000000 
+0200
@@ -7,7 +7,7 @@
 
 from slycot import synthesis
 from slycot.exceptions import (SlycotArithmeticError, SlycotParameterError,
-                               SlycotResultWarning, raise_if_slycot_error)
+                               SlycotResultWarning)
 
 from .test_exceptions import assert_docstring_parse
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/tests/test_tb05ad.py 
new/slycot-0.6.1/slycot/tests/test_tb05ad.py
--- old/slycot-0.6.0/slycot/tests/test_tb05ad.py        2023-09-22 
09:45:52.000000000 +0200
+++ new/slycot-0.6.1/slycot/tests/test_tb05ad.py        2025-10-18 
17:36:36.000000000 +0200
@@ -1,8 +1,6 @@
 # ===================================================
 # tb05ad tests
 
-import sys
-
 import numpy as np
 import pytest
 from numpy.testing import assert_almost_equal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/tests/test_tg01ad.py 
new/slycot-0.6.1/slycot/tests/test_tg01ad.py
--- old/slycot-0.6.0/slycot/tests/test_tg01ad.py        2023-09-22 
09:45:52.000000000 +0200
+++ new/slycot-0.6.1/slycot/tests/test_tg01ad.py        2025-10-18 
17:36:36.000000000 +0200
@@ -2,7 +2,7 @@
 # tg01ad tests
 
 import numpy as np
-from numpy.testing import assert_almost_equal, assert_equal, assert_raises
+from numpy.testing import assert_almost_equal
 
 from slycot import transform
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/tests/test_tg01fd.py 
new/slycot-0.6.1/slycot/tests/test_tg01fd.py
--- old/slycot-0.6.0/slycot/tests/test_tg01fd.py        2023-09-22 
09:45:52.000000000 +0200
+++ new/slycot-0.6.1/slycot/tests/test_tg01fd.py        2025-10-18 
17:36:36.000000000 +0200
@@ -2,7 +2,7 @@
 # tg01fd tests
 
 import numpy as np
-from numpy.testing import assert_almost_equal, assert_equal, assert_raises
+from numpy.testing import assert_almost_equal, assert_equal
 
 from slycot import transform
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot/version.py 
new/slycot-0.6.1/slycot/version.py
--- old/slycot-0.6.0/slycot/version.py  2024-04-05 16:03:24.000000000 +0200
+++ new/slycot-0.6.1/slycot/version.py  2025-11-16 06:46:15.000000000 +0100
@@ -1,16 +1,34 @@
-# 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",
+    "__commit_id__",
+    "commit_id",
+]
+
 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], ...]
+    COMMIT_ID = Union[str, None]
 else:
     VERSION_TUPLE = object
+    COMMIT_ID = object
 
 version: str
 __version__: str
 __version_tuple__: VERSION_TUPLE
 version_tuple: VERSION_TUPLE
+commit_id: COMMIT_ID
+__commit_id__: COMMIT_ID
+
+__version__ = version = '0.6.1'
+__version_tuple__ = version_tuple = (0, 6, 1)
 
-__version__ = version = '0.6.0'
-__version_tuple__ = version_tuple = (0, 6, 0)
+__commit_id__ = commit_id = 'gf780ce243'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot.egg-info/PKG-INFO 
new/slycot-0.6.1/slycot.egg-info/PKG-INFO
--- old/slycot-0.6.0/slycot.egg-info/PKG-INFO   2024-04-05 16:03:24.000000000 
+0200
+++ new/slycot-0.6.1/slycot.egg-info/PKG-INFO   2025-11-16 06:46:15.000000000 
+0100
@@ -1,17 +1,14 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: slycot
-Version: 0.6.0
+Version: 0.6.1
 Summary: A wrapper for the SLICOT control and systems library
 Author: Enrico Avventi et al.
 Maintainer-email: Slycot developers 
<[email protected]>
-License: GPL-2.0 AND BSD-3-Clause
+License-Expression: GPL-2.0 AND BSD-3-Clause
 Project-URL: homepage, https://github.com/python-control/Slycot
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Science/Research
 Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved
-Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
-Classifier: License :: OSI Approved :: BSD License
 Classifier: Programming Language :: C
 Classifier: Programming Language :: Fortran
 Classifier: Programming Language :: Python
@@ -29,6 +26,7 @@
 License-File: COPYING
 License-File: AUTHORS
 Requires-Dist: numpy>=1.23.1
+Dynamic: license-file
 
 Slycot
 ======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slycot-0.6.0/slycot.egg-info/SOURCES.txt 
new/slycot-0.6.1/slycot.egg-info/SOURCES.txt
--- old/slycot-0.6.0/slycot.egg-info/SOURCES.txt        2024-04-05 
16:03:24.000000000 +0200
+++ new/slycot-0.6.1/slycot.egg-info/SOURCES.txt        2025-11-16 
06:46:15.000000000 +0100
@@ -9,7 +9,6 @@
 gpl-2.0.txt
 pyproject.toml
 setup.py
-.github/conda-env/build-env.yml
 .github/conda-env/test-env.yml
 .github/scripts/run-tests.sh
 .github/scripts/set-conda-test-matrix.py
@@ -2042,6 +2041,7 @@
 slycot/tests/test_ab01.py
 slycot/tests/test_ab04md.py
 slycot/tests/test_ab08n.py
+slycot/tests/test_ab09nd.py
 slycot/tests/test_ab13bd.py
 slycot/tests/test_ab13md.py
 slycot/tests/test_ag08bd.py

Reply via email to