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 2022-11-25 14:56:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-slycot (Old) and /work/SRC/openSUSE:Factory/.python-slycot.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-slycot" Fri Nov 25 14:56:15 2022 rev:16 rq:1037768 version:0.5.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-slycot/python-slycot.changes 2022-07-11 19:10:58.063745453 +0200 +++ /work/SRC/openSUSE:Factory/.python-slycot.new.1597/python-slycot.changes 2022-11-25 14:56:16.456185981 +0100 @@ -1,0 +2,14 @@ +Wed Nov 23 21:15:35 UTC 2022 - Ben Greiner <c...@bnavigator.de> + +- Update to v0.5.2 + * Drop Support for Python 3.7 +- Release v0.5.1 + * This release is a minor change in the build system. There are + no new wrappers or code changes of existing SLICOT wrappers. + * Use FindPython instead of deprecated FindPythonLibs by + @bnavigator in #181 + * Use setuptools_scm instead of custom version determination code + by @bnavigator in #180 + * Support Python 3.11 by @bnavigator in #182 + +------------------------------------------------------------------- Old: ---- slycot-0.5.0.0.tar.gz New: ---- slycot-0.5.2.tar.gz slycot-rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-slycot.spec ++++++ --- /var/tmp/diff_new_pack.7rIMfK/_old 2022-11-25 14:56:17.192189854 +0100 +++ /var/tmp/diff_new_pack.7rIMfK/_new 2022-11-25 14:56:17.196189875 +0100 @@ -16,31 +16,34 @@ # -%define distversion 0.5.0 Name: python-slycot -Version: 0.5.0.0 +Version: 0.5.2 Release: 0 Summary: A wrapper for the SLICOT control and systems library License: BSD-3-Clause AND GPL-2.0-only Group: Development/Languages/Python URL: https://github.com/python-control/Slycot -Source: https://files.pythonhosted.org/packages/source/s/slycot/slycot-%{version}.tar.gz -BuildRequires: %{python_module devel} +Source0: https://files.pythonhosted.org/packages/source/s/slycot/slycot-%{version}.tar.gz +Source99: slycot-rpmlintrc +BuildRequires: %{python_module devel >= 3.8} BuildRequires: %{python_module numpy-devel} BuildRequires: %{python_module pip} -BuildRequires: %{python_module pytest} -BuildRequires: %{python_module scikit-build} -BuildRequires: %{python_module scipy} -BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module scikit-build >= 0.15} +BuildRequires: %{python_module setuptools >= 45} +BuildRequires: %{python_module setuptools_scm >= 7.0} BuildRequires: %{python_module wheel} BuildRequires: blas-devel -BuildRequires: cmake >= 3.11 +BuildRequires: cmake >= 3.14 BuildRequires: fdupes BuildRequires: gcc BuildRequires: gcc-fortran BuildRequires: lapack-devel BuildRequires: python-rpm-macros Requires: python-numpy +# SECTION test +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module scipy} +# /SECTION %python_subpackages %description @@ -48,6 +51,7 @@ %prep %setup -q -n slycot-%{version} +cp slycot/src/SLICOT-Reference/LICENSE LICENSE-SLICOT %build export CFLAGS="%{optflags}" @@ -57,7 +61,7 @@ # generic BLAS/LAPACK binaries so that update-alternatives can choose # the implementation for runtime. export BLA_VENDOR="Generic" -%{python_expand # give the pep517 build the correct f2py flavor +%{python_expand # give the pep517 build the correct f2py flavor as "f2py3" mkdir -p build/buildbin ln -s %{_bindir}/f2py-%{$python_bin_suffix} build/buildbin/f2py3 } @@ -77,8 +81,8 @@ %files %{python_files} %doc README.rst -%license COPYING +%license COPYING LICENSE-SLICOT %{python_sitearch}/slycot -%{python_sitearch}/slycot-%{distversion}*-info +%{python_sitearch}/slycot-%{version}.dist-info %changelog ++++++ slycot-0.5.0.0.tar.gz -> slycot-0.5.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/.coveragerc new/slycot-0.5.2/.coveragerc --- old/slycot-0.5.0.0/.coveragerc 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/.coveragerc 2022-07-16 12:42:02.000000000 +0200 @@ -0,0 +1,12 @@ +[run] +source = slycot +omit = + */tests/* + */version.py + + +# please do not add any sections after this block +# the CI will add the slycot modules as last line here +[paths] +source = + slycot/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/.github/conda-env/build-env.yml new/slycot-0.5.2/.github/conda-env/build-env.yml --- old/slycot-0.5.0.0/.github/conda-env/build-env.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/.github/conda-env/build-env.yml 2022-11-23 21:17:18.000000000 +0100 @@ -0,0 +1,4 @@ +name: build-env +dependencies: + - boa + - numpy!=1.23.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/.github/conda-env/test-env.yml new/slycot-0.5.2/.github/conda-env/test-env.yml --- old/slycot-0.5.0.0/.github/conda-env/test-env.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/.github/conda-env/test-env.yml 2021-03-17 12:49:19.000000000 +0100 @@ -0,0 +1,11 @@ +name: test-env +dependencies: + # in addtion to package dependencies and explicit LAPACK/BLAS implementations installed in workflow + - conda-build # for conda index + - scipy + - matplotlib + - pytest + - pytest-cov + - pytest-timeout + - coverage + - coveralls diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/.github/scripts/run-tests.sh new/slycot-0.5.2/.github/scripts/run-tests.sh --- old/slycot-0.5.0.0/.github/scripts/run-tests.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/.github/scripts/run-tests.sh 2021-01-30 13:23:36.000000000 +0100 @@ -0,0 +1,34 @@ +#!/bin/bash + +set -e + +echo "::group::Slycot unit tests" +pytest -v --pyargs slycot \ + --cov=${slycot_libdir:=$(python -c "import slycot; print(slycot.__path__[0])")} \ + --cov-config=${slycot_srcdir:=$(realpath ./slycot-src)}/.coveragerc +mv .coverage ${slycot_srcdir}/.coverage.slycot +echo "::endgroup::" + +echo "::group::python-control unit tests" +pushd ${python_control_srcdir:=./python-control} +# test_root_locus_zoom, test_sisotool: problems with the toolbar for MPL backends, not relevant to Slycot +pytest control/tests \ + --cov=$slycot_libdir \ + --cov-config=${slycot_srcdir}/.coveragerc \ + -k "not (test_root_locus_zoom or test_sisotool)" +mv .coverage ${slycot_srcdir}/.coverage.control +popd +echo "::endgroup::" + +echo "::group::run slycot.test() inside interpreter" +echo 'import slycot; slycot.test()' > runtest.py +coverage run --source ${slycot_libdir} --rcfile ${slycot_srcdir}/.coveragerc runtest.py +mv .coverage ${slycot_srcdir}/.coverage.slycot-inline + +echo "::group::Combine coverage" +# needs to run from within slycot source dir +cd ${slycot_srcdir} +echo " ${slycot_libdir}" >> .coveragerc +coverage combine +coverage report +echo "::endgroup::" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/.github/scripts/set-conda-test-matrix.py new/slycot-0.5.2/.github/scripts/set-conda-test-matrix.py --- old/slycot-0.5.0.0/.github/scripts/set-conda-test-matrix.py 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/.github/scripts/set-conda-test-matrix.py 2021-02-07 12:42:42.000000000 +0100 @@ -0,0 +1,34 @@ +""" set-conda-test-matrix.py + +Create test matrix for conda packages +""" +import json, re +from pathlib import Path + +osmap = {'linux': 'ubuntu', + 'osx': 'macos', + 'win': 'windows', + } + +blas_implementations = ['unset', 'Generic', 'OpenBLAS', 'Intel10_64lp'] + +combinations = {'ubuntu': blas_implementations, + 'macos': blas_implementations, + 'windows': ['unset', 'Intel10_64lp'], + } + +conda_jobs = [] +for conda_pkg_file in Path("slycot-conda-pkgs").glob("*/*.tar.bz2"): + 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]) + cpy = f'{pymajor}.{pyminor}' + for cbl in combinations[cos]: + cjob = {'packagekey': f'{cos}-{cpy}', + 'os': cos, + 'python': cpy, + 'blas_lib': cbl} + conda_jobs.append(cjob) + +matrix = { 'include': conda_jobs } +print(json.dumps(matrix)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/.github/scripts/set-pip-test-matrix.py new/slycot-0.5.2/.github/scripts/set-pip-test-matrix.py --- old/slycot-0.5.0.0/.github/scripts/set-pip-test-matrix.py 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/.github/scripts/set-pip-test-matrix.py 2021-01-30 13:23:36.000000000 +0100 @@ -0,0 +1,28 @@ +""" set-pip-test-matrix.py + +Create test matrix for pip wheels +""" +import json +from pathlib import Path + +system_opt_blas_libs = {'ubuntu': ['OpenBLAS'], + 'macos' : ['OpenBLAS', 'Apple']} + +wheel_jobs = [] +for wkey in Path("slycot-wheels").iterdir(): + wos, wpy, wbl = wkey.name.split("-") + wheel_jobs.append({'packagekey': wkey.name, + 'os': wos, + 'python': wpy, + 'blas_lib': wbl, + }) + if wbl == "Generic": + for bl in system_opt_blas_libs[wos]: + wheel_jobs.append({ 'packagekey': wkey.name, + 'os': wos, + 'python': wpy, + 'blas_lib': bl, + }) + +matrix = { 'include': wheel_jobs } +print(json.dumps(matrix)) \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/.github/workflows/slycot-build-and-test.yml new/slycot-0.5.2/.github/workflows/slycot-build-and-test.yml --- old/slycot-0.5.0.0/.github/workflows/slycot-build-and-test.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/.github/workflows/slycot-build-and-test.yml 2022-11-23 21:17:18.000000000 +0100 @@ -0,0 +1,384 @@ +name: Build and Test Slycot +on: + push: + pull_request: + paths-ignore: + - '.gitignore' + - 'AUTHORS' + - 'COPYING' + - 'gpl-2.0.txt' + - 'MANIFEST.in' + - 'README.rst' + +jobs: + + build-sdist: + # Super fast sniff build. If this fails, don't start the other jobs + name: Build sdist on Ubuntu + 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: Setup Ubuntu + run: | + sudo apt-get -y install gfortran cmake --fix-missing + sudo apt-get -y install libblas-dev liblapack-dev + - name: Create Slycot sdist + run: | + pip install build + python -m build --sdist + - name: Install Slycot sdist + run: | + mkdir cleancwd + cd cleancwd + tar xfz ../dist/slycot-*.tar.gz + cd slycot-* + pip install -v . + - name: Run tests + run: | + pip install scipy pytest + pytest + + build-pip: + name: Build pip Py${{ matrix.python }}, ${{ matrix.os }}, ${{ matrix.bla_vendor}} BLA_VENDOR + runs-on: ${{ matrix.os }}-latest + needs: build-sdist + strategy: + fail-fast: false + matrix: + os: + - 'ubuntu' + - 'macos' + python: + - '3.8' + - '3.11' + bla_vendor: [ 'unset' ] + include: + - os: 'ubuntu' + python: '3.11' + bla_vendor: 'Generic' + - os: 'ubuntu' + python: '3.11' + bla_vendor: 'OpenBLAS' + - os: 'macos' + python: '3.11' + bla_vendor: 'Apple' + - os: 'macos' + python: '3.11' + bla_vendor: 'Generic' + - os: 'macos' + python: '3.11' + bla_vendor: 'OpenBLAS' + + 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: ${{ matrix.python }} + - name: Setup Ubuntu + if: matrix.os == 'ubuntu' + run: | + sudo apt-get -y update + sudo apt-get -y install gfortran cmake --fix-missing + case ${{ matrix.bla_vendor }} in + unset | Generic ) sudo apt-get -y install libblas-dev liblapack-dev ;; + OpenBLAS ) sudo apt-get -y install libopenblas-dev ;; + *) + echo "bla_vendor option ${{ matrix.bla_vendor }} not supported" + exit 1 ;; + esac + - name: Setup macOS + if: matrix.os == 'macos' + run: | + case ${{ matrix.bla_vendor }} in + 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 "bla_vendor option ${{ matrix.bla_vendor }} not supported" + exit 1 ;; + esac + echo "FC=gfortran-11" >> $GITHUB_ENV + - name: Build wheel + env: + BLA_VENDOR: ${{ matrix.bla_vendor }} + CMAKE_GENERATOR: Unix Makefiles + run: | + if [[ $BLA_VENDOR = unset ]]; then unset BLA_VENDOR; fi + python -m pip install --upgrade pip + pip wheel -v -w . . + wheeldir=slycot-wheels/${{ matrix.os }}-${{ matrix.python }}-${{ matrix.bla_vendor }} + mkdir -p ${wheeldir} + cp ./slycot*.whl ${wheeldir}/ + - name: Save wheel + uses: actions/upload-artifact@v3 + with: + name: slycot-wheels + path: slycot-wheels + + build-conda: + name: Build conda Py${{ matrix.python }}, ${{ matrix.os }} + runs-on: ${{ matrix.os }}-latest + needs: build-sdist + strategy: + fail-fast: false + matrix: + os: + - 'ubuntu' + - 'macos' + - 'windows' + python: + - '3.9' + - '3.11' + + steps: + - name: Checkout Slycot + uses: actions/checkout@v3 + with: + fetch-depth: 0 + submodules: 'recursive' + - name: Setup Conda + uses: conda-incubator/setup-miniconda@v2 + with: + python-version: ${{ matrix.python }} + activate-environment: build-env + environment-file: .github/conda-env/build-env.yml + miniforge-version: latest + miniforge-variant: Mambaforge + channel-priority: strict + auto-update-conda: false + auto-activate-base: false + - name: Conda build + shell: bash -l {0} + run: | + set -e + numpyversion=$(python -c 'import numpy; print(numpy.version.version)') + conda mambabuild --python "${{ matrix.python }}" --numpy $numpyversion conda-recipe + # 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_platform=$(basename $(dirname "${conda_pkg}")) + mkdir -p "slycot-conda-pkgs/${conda_platform}" + cp "${conda_pkg}" "slycot-conda-pkgs/${conda_platform}/" + done + - name: Save to local conda pkg channel + uses: actions/upload-artifact@v3 + with: + name: slycot-conda-pkgs + path: slycot-conda-pkgs + + create-wheel-test-matrix: + name: Create wheel test matrix + runs-on: ubuntu-latest + needs: build-pip + if: always() # run tests for all successful builds, even if others failed + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - name: Checkout Slycot + uses: actions/checkout@v3 + - name: Download wheels (if any) + uses: actions/download-artifact@v3 + with: + name: slycot-wheels + path: slycot-wheels + - id: set-matrix + run: echo "matrix=$(python3 .github/scripts/set-pip-test-matrix.py)" >> $GITHUB_OUTPUT + + create-conda-test-matrix: + name: Create conda test matrix + runs-on: ubuntu-latest + needs: build-conda + if: always() # run tests for all successful builds, even if others failed + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - name: Checkout Slycot + uses: actions/checkout@v3 + - name: Download conda packages + uses: actions/download-artifact@v3 + 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 + + + test-wheel: + name: Test wheel ${{ matrix.packagekey }}, ${{matrix.blas_lib}} BLAS lib ${{ matrix.failok }} + needs: create-wheel-test-matrix + runs-on: ${{ matrix.os }}-latest + continue-on-error: ${{ matrix.failok == 'FAILOK' }} + + strategy: + fail-fast: false + matrix: ${{ fromJSON(needs.create-wheel-test-matrix.outputs.matrix) }} + + steps: + - name: Checkout Slycot + uses: actions/checkout@v3 + with: + path: slycot-src + - name: Checkout python-control + uses: actions/checkout@v3 + with: + repository: 'python-control/python-control' + path: python-control + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python }} + - name: Setup Ubuntu + if: matrix.os == 'ubuntu' + run: | + set -xe + 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 ;; + *) + echo "BLAS ${{ matrix.blas_lib }} not supported for wheels on Ubuntu" + exit 1 ;; + esac + update-alternatives --display libblas.so.3-x86_64-linux-gnu + update-alternatives --display liblapack.so.3-x86_64-linux-gnu + - name: Setup macOS + if: matrix.os == 'macos' + run: | + set -xe + brew install coreutils + case ${{ matrix.blas_lib }} in + unset | Generic | Apple ) ;; # system provided (Uses Apple Accelerate Framework) + OpenBLAS ) + brew install openblas + echo "DYLIB_LIBRARY_PATH=/usr/local/opt/openblas/lib" >> $GITHUB_ENV + ;; + *) + echo "BLAS option ${{ matrix.blas_lib }} not supported for wheels on MacOS" + exit 1 ;; + esac + - name: Download wheels + uses: actions/download-artifact@v3 + with: + name: slycot-wheels + path: slycot-wheels + - name: Install Wheel + run: | + python -m pip install --upgrade pip + pip install matplotlib scipy pytest pytest-cov pytest-timeout coverage coveralls + pip install slycot-wheels/${{ matrix.packagekey }}/slycot*.whl + pip show slycot + - name: Slycot and python-control tests + run: bash slycot-src/.github/scripts/run-tests.sh + - name: report coverage + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COVERALLS_FLAG_NAME: wheel-${{ matrix.packagekey }}-${{matrix.blas_lib}} + COVERALLS_PARALLEL: true + working-directory: slycot-src + # https://github.com/TheKevJames/coveralls-python/issues/252 + run: coveralls --service=github + + test-conda: + name: Test conda ${{ matrix.packagekey }}, ${{matrix.blas_lib}} BLAS lib ${{ matrix.failok }} + needs: create-conda-test-matrix + runs-on: ${{ matrix.os }}-latest + continue-on-error: ${{ matrix.failok == 'FAILOK' }} + + strategy: + fail-fast: false + matrix: ${{ fromJSON(needs.create-conda-test-matrix.outputs.matrix) }} + + defaults: + run: + shell: bash -l {0} + + steps: + - name: Checkout Slycot + uses: actions/checkout@v3 + with: + path: slycot-src + - name: Checkout python-control + uses: actions/checkout@v3 + with: + repository: 'python-control/python-control' + path: python-control + - name: Setup macOS + if: matrix.os == 'macos' + run: brew install coreutils + - name: Setup Conda + uses: conda-incubator/setup-miniconda@v2 + 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 + channel-priority: strict + auto-activate-base: false + - name: Download conda packages + uses: actions/download-artifact@v3 + with: + name: slycot-conda-pkgs + path: slycot-conda-pkgs + - name: Install Conda package + run: | + set -e + case ${{ matrix.blas_lib }} in + unset ) # the conda-forge default (os dependent) + mamba install libblas libcblas liblapack + ;; + Generic ) + mamba install 'libblas=*=*netlib' 'libcblas=*=*netlib' 'liblapack=*=*netlib' + echo "libblas * *netlib" >> $CONDA_PREFIX/conda-meta/pinned + ;; + OpenBLAS ) + mamba install 'libblas=*=*openblas' openblas + echo "libblas * *openblas" >> $CONDA_PREFIX/conda-meta/pinned + ;; + Intel10_64lp ) + mamba install 'libblas=*=*mkl' mkl + echo "libblas * *mkl" >> $CONDA_PREFIX/conda-meta/pinned + ;; + esac + conda index --no-progress ./slycot-conda-pkgs + mamba install -c ./slycot-conda-pkgs slycot + conda list + - name: Slycot and python-control tests + run: bash slycot-src/.github/scripts/run-tests.sh + - name: Report coverage + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COVERALLS_FLAG_NAME: conda-${{ matrix.packagekey }}-${{matrix.blas_lib}} + COVERALLS_PARALLEL: true + working-directory: slycot-src + # https://github.com/TheKevJames/coveralls-python/issues/252 + run: coveralls --service=github + + coveralls-final: + name: Finalize parallel coveralls + if: always() + needs: + - test-conda + - test-wheel + runs-on: ubuntu-latest + steps: + - name: Coveralls Finished + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + parallel-finished: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/.gitignore new/slycot-0.5.2/.gitignore --- old/slycot-0.5.0.0/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/.gitignore 2021-01-23 00:20:08.000000000 +0100 @@ -0,0 +1,14 @@ +.DS_Store* +MANIFEST +dist/ +build/ +*.pyc +*.so +slycot/version.py +.ropeproject/ +build.log +*.egg-info/ +.coverage +*~ +setup.cfg +_skbuild diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/.gitmodules new/slycot-0.5.2/.gitmodules --- old/slycot-0.5.0.0/.gitmodules 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/.gitmodules 2021-03-17 12:49:25.000000000 +0100 @@ -0,0 +1,3 @@ +[submodule "slycot/src/SLICOT-Reference"] + path = slycot/src/SLICOT-Reference + url = https://github.com/python-control/SLICOT-Reference diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/CMakeLists.txt new/slycot-0.5.2/CMakeLists.txt --- old/slycot-0.5.0.0/CMakeLists.txt 2022-07-09 11:51:01.000000000 +0200 +++ new/slycot-0.5.2/CMakeLists.txt 2022-11-08 15:30:23.000000000 +0100 @@ -1,27 +1,25 @@ # CMake file for use in conjunction with scikit-build -cmake_minimum_required(VERSION 3.11.0) +cmake_minimum_required(VERSION 3.14.0) -if (CMAKE_VERSION VERSION_GREATER "3.11.99") - cmake_policy(SET CMP0074 NEW) -endif() +cmake_policy(SET CMP0074 NEW) -project(slycot VERSION ${SLYCOT_VERSION} LANGUAGES NONE) +project(slycot LANGUAGES NONE) enable_language(C) enable_language(Fortran) -find_package(PythonLibs REQUIRED) +find_package(Python COMPONENTS Interpreter Development NumPy REQUIRED) find_package(PythonExtensions REQUIRED) find_package(NumPy REQUIRED) find_package(F2PY REQUIRED) find_package(BLAS REQUIRED) find_package(LAPACK REQUIRED) -message(STATUS "NumPy included from: ${NumPy_INCLUDE_DIR}") -message(STATUS "F2PY included from: ${F2PY_INCLUDE_DIR}") +message(STATUS "Python headers included from: ${Python_INCLUDE_DIRS}") +message(STATUS "NumPy headers included from: ${Python_NumPy_INCLUDE_DIRS}") +message(STATUS "F2PY headers included from: ${F2PY_INCLUDE_DIRS}") message(STATUS "LAPACK: ${LAPACK_LIBRARIES}") message(STATUS "BLAS: ${BLAS_LIBRARIES}") -message(STATUS "Slycot version: ${SLYCOT_VERSION}") add_subdirectory(slycot) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/MANIFEST.in new/slycot-0.5.2/MANIFEST.in --- old/slycot-0.5.0.0/MANIFEST.in 2021-05-29 07:17:56.000000000 +0200 +++ new/slycot-0.5.2/MANIFEST.in 2022-10-30 12:05:45.000000000 +0100 @@ -9,7 +9,6 @@ include slycot/CMakeLists.txt include slycot/tests/CMakeLists.txt include slycot/*.py -include slycot/version.py.in include slycot/src/*.f include slycot/tests/*.py graft slycot/src/SLICOT-Reference diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/PKG-INFO new/slycot-0.5.2/PKG-INFO --- old/slycot-0.5.0.0/PKG-INFO 2022-07-09 12:31:52.617650500 +0200 +++ new/slycot-0.5.2/PKG-INFO 2022-11-23 21:17:49.444011000 +0100 @@ -1,37 +1,32 @@ Metadata-Version: 2.1 Name: slycot -Version: 0.5.0.0 -Summary: Slycot: a wrapper for the SLICOT control and systems library -Home-page: https://github.com/python-control/Slycot +Version: 0.5.2 +Summary: A wrapper for the SLICOT control and systems library Author: Enrico Avventi et al. -Maintainer: Slycot developers -Maintainer-email: python-control-disc...@lists.sourceforge.net -License: GPL-2.0 -Platform: Windows -Platform: Linux -Platform: Solaris -Platform: Mac OS-X -Platform: Unix +Maintainer-email: Slycot developers <python-control-disc...@lists.sourceforge.net> +License: 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 -Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 Classifier: Topic :: Software Development Classifier: Topic :: Scientific/Engineering Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: POSIX Classifier: Operating System :: Unix Classifier: Operating System :: MacOS -Requires-Python: >=3.7 -License-File: COPYING +Requires-Python: >=3.8 +Description-Content-Type: text/x-rst License-File: AUTHORS Slycot @@ -55,18 +50,18 @@ Dependencies ------------ -Slycot supports Python versions 3.6 or later. +Slycot supports Python versions 3.8 or later. To run the compiled Slycot package, the following must be installed as dependencies: -- Python 3.6+ +- Python 3.8+ - NumPy If you are compiling and installing Slycot from source, you will need the following dependencies: -- 3.6+ +- Python 3.8+ - NumPy - scikit-build - CMake @@ -225,7 +220,7 @@ for Windows. This method uses conda and conda-forge to get most build dependencies, *except* for the C compiler. -This procedure has been tested on Python 3.7 and 3.8. +This procedure has been tested on Python 3.8. 1. Install `Microsoft Visual Studio`_. 2. Unpack the source code to a directory of your choice, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/README.rst new/slycot-0.5.2/README.rst --- old/slycot-0.5.0.0/README.rst 2022-05-28 09:56:51.000000000 +0200 +++ new/slycot-0.5.2/README.rst 2022-11-23 21:17:18.000000000 +0100 @@ -19,18 +19,18 @@ Dependencies ------------ -Slycot supports Python versions 3.6 or later. +Slycot supports Python versions 3.8 or later. To run the compiled Slycot package, the following must be installed as dependencies: -- Python 3.6+ +- Python 3.8+ - NumPy If you are compiling and installing Slycot from source, you will need the following dependencies: -- 3.6+ +- Python 3.8+ - NumPy - scikit-build - CMake @@ -189,7 +189,7 @@ for Windows. This method uses conda and conda-forge to get most build dependencies, *except* for the C compiler. -This procedure has been tested on Python 3.7 and 3.8. +This procedure has been tested on Python 3.8. 1. Install `Microsoft Visual Studio`_. 2. Unpack the source code to a directory of your choice, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/conda-recipe/meta.yaml new/slycot-0.5.2/conda-recipe/meta.yaml --- old/slycot-0.5.0.0/conda-recipe/meta.yaml 2022-07-09 07:42:35.000000000 +0200 +++ new/slycot-0.5.2/conda-recipe/meta.yaml 2022-11-08 15:30:23.000000000 +0100 @@ -13,7 +13,7 @@ build: - {{ compiler('fortran') }} # [not win] - {{ compiler('c') }} - - cmake + - cmake >=3.14 - make # [linux] - flang >=11 # [win] @@ -27,9 +27,11 @@ - libcblas * *netlib - liblapack * *netlib - python - - numpy!=1.23.0 + - numpy !=1.23.0 - pip - - scikit-build >=0.14.1 + - scikit-build >=0.15 + - setuptools >=45 + - setuptools_scm >=6.3 run: - python {{ PY_VER }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/pyproject.toml new/slycot-0.5.2/pyproject.toml --- old/slycot-0.5.0.0/pyproject.toml 2022-07-09 11:51:01.000000000 +0200 +++ new/slycot-0.5.2/pyproject.toml 2022-11-23 21:17:18.000000000 +0100 @@ -1,8 +1,54 @@ [build-system] requires = [ - "setuptools", + "setuptools>=45", + "setuptools_scm>=6.3", "wheel", - "scikit-build>=0.14.1", - "cmake", + "scikit-build>=0.15", + "cmake>=3.14", "numpy!=1.23.0"] build-backend = "setuptools.build_meta" + +[project] +name = "slycot" +description = "A wrapper for the SLICOT control and systems library" +readme = "README.rst" +authors = [{ name = "Enrico Avventi et al." }] +maintainers = [{ name = "Slycot developers", email = "python-control-disc...@lists.sourceforge.net"}] +license = {text = "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", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Topic :: Software Development", + "Topic :: Scientific/Engineering", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Operating System :: Unix", + "Operating System :: MacOS", +] +requires-python = ">=3.8" +dependencies = [ + "numpy", +] +dynamic = ["version"] + +[project.urls] +homepage = "https://github.com/python-control/Slycot" + + +[tool.setuptools_scm] +write_to = "slycot/version.py" + +[tool.pytest.ini_options] +# run the tests with compiled and installed package +addopts = "--pyargs slycot" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/setup.cfg new/slycot-0.5.2/setup.cfg --- old/slycot-0.5.0.0/setup.cfg 2022-07-09 12:31:52.617650500 +0200 +++ new/slycot-0.5.2/setup.cfg 2022-11-23 21:17:49.444011000 +0100 @@ -1,12 +1,3 @@ -[metadata] -name = slycot -version = 0.5.0 -gitrevision = e162b5fc3027a9c288a4f820a626f269eb63f9e0 -release = no - -[tool:pytest] -addopts = --pyargs slycot - [egg_info] tag_build = tag_date = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/setup.py new/slycot-0.5.2/setup.py --- old/slycot-0.5.0.0/setup.py 2022-04-23 12:00:18.000000000 +0200 +++ new/slycot-0.5.2/setup.py 2022-10-30 12:05:45.000000000 +0100 @@ -8,14 +8,7 @@ import builtins import os -import sys import subprocess -import re -import platform -try: - import configparser -except ImportError: - import ConfigParser as configparser try: from skbuild import setup @@ -23,96 +16,10 @@ except ImportError: raise ImportError('scikit-build must be installed before running setup.py') -DOCLINES = __doc__.split("\n") - -CLASSIFIERS = """\ -Development Status :: 4 - Beta -Intended Audience :: Science/Research -Intended Audience :: Developers -License :: OSI Approved -License :: OSI Approved :: GNU General Public License v2 (GPLv2) -Programming Language :: C -Programming Language :: Fortran -Programming Language :: Python -Programming Language :: Python :: 3.7 -Programming Language :: Python :: 3.8 -Programming Language :: Python :: 3.9 -Programming Language :: Python :: 3.10 -Topic :: Software Development -Topic :: Scientific/Engineering -Operating System :: Microsoft :: Windows -Operating System :: POSIX -Operating System :: Unix -Operating System :: MacOS -""" - -# defaults -ISRELEASED = True -# assume a version set by conda, next update with git, -# otherwise count on default -VERSION = 'Unknown' - - -class GitError(RuntimeError): - """Exception for git errors occuring in in git_version""" - pass - - -def git_version(srcdir=None): - """Return the git version, revision and cycle - - Uses rev-parse to get the revision tag to get the version number from the - latest tag and detects (approximate) revision cycles - - """ - def _minimal_ext_cmd(cmd, srcdir): - # construct minimal environment - env = {} - for k in ['SYSTEMROOT', 'PATH']: - v = os.environ.get(k) - if v is not None: - env[k] = v - # LANGUAGE is used on win32 - env['LANGUAGE'] = 'C' - env['LANG'] = 'C' - env['LC_ALL'] = 'C' - proc = subprocess.Popen( - cmd, - cwd=srcdir, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - env=env) - out, err = proc.communicate() - if proc.returncode: - errmsg = err.decode('ascii', errors='ignore').strip() - raise GitError("git err; return code %d, error message:\n '%s'" - % (proc.returncode, errmsg)) - return out - - try: - GIT_VERSION = VERSION - GIT_REVISION = 'Unknown' - GIT_CYCLE = 0 - out = _minimal_ext_cmd(['git', 'rev-parse', 'HEAD'], srcdir) - GIT_REVISION = out.strip().decode('ascii') - out = _minimal_ext_cmd(['git', 'tag'], srcdir) - GIT_VERSION = out.strip().decode('ascii').split('\n')[-1][1:] - out = _minimal_ext_cmd(['git', 'describe', '--tags', - '--long', '--always'], srcdir) - try: - # don't get a good description with shallow clones - GIT_CYCLE = out.strip().decode('ascii').split('-')[1] - except IndexError: - pass - except OSError: - pass - - return GIT_VERSION, GIT_REVISION, GIT_CYCLE - -# BEFORE importing distutils, remove MANIFEST. distutils doesn't properly -# update it when the contents of directories change. -if os.path.exists('MANIFEST'): - os.remove('MANIFEST') +try: + from setuptools_scm import get_version +except ImportError: + raise ImportError('setuptools_scm must be installed before running setup.py') # This is a bit hackish: we are setting a global variable so that the main # slycot __init__ can detect if it is being loaded by the setup routine, to @@ -121,69 +28,6 @@ builtins.__SLYCOT_SETUP__ = True -def rewrite_setup_cfg(version, gitrevision, release): - toreplace = dict(locals()) - data = ''.join(open('setup.cfg.in', 'r').readlines()).split('@') - for k, v in toreplace.items(): - idx = data.index(k) - data[idx] = v - cfg = open('setup.cfg', 'w') - cfg.write(''.join(data)) - cfg.close() - - -def get_version_info(srcdir=None): - global ISRELEASED - GIT_CYCLE = 0 - - # Adding the git rev number needs to be done inside write_version_py(), - # otherwise the import of slycot.version messes up - # the build under Python 3. - if os.environ.get('CONDA_BUILD', False): - FULLVERSION = os.environ.get('PKG_VERSION', '???') - GIT_REVISION = os.environ.get('GIT_DESCRIBE_HASH', '') - ISRELEASED = True - rewrite_setup_cfg(FULLVERSION, GIT_REVISION, 'yes') - elif os.path.exists('.git'): - FULLVERSION, GIT_REVISION, GIT_CYCLE = git_version(srcdir) - ISRELEASED = (GIT_CYCLE == 0) - rewrite_setup_cfg(FULLVERSION, GIT_REVISION, - (ISRELEASED and 'yes') or 'no') - elif os.path.exists('setup.cfg'): - # valid distribution - setupcfg = configparser.ConfigParser(allow_no_value=True) - setupcfg.read('setup.cfg') - - FULLVERSION = setupcfg.get(section='metadata', option='version') - - if FULLVERSION is None: - FULLVERSION = "Unknown" - - GIT_REVISION = setupcfg.get(section='metadata', option='gitrevision') - - if GIT_REVISION is None: - GIT_REVISION = "" - - return FULLVERSION, GIT_REVISION - else: - - # try to find a version number from the dir name - dname = os.getcwd().split(os.sep)[-1] - - m = re.search(r'[0-9.]+', dname) - if m: - FULLVERSION = m.group() - GIT_REVISION = '' - - else: - FULLVERSION = VERSION - GIT_REVISION = "Unknown" - - if not ISRELEASED: - FULLVERSION += '.' + str(GIT_CYCLE) - - return FULLVERSION, GIT_REVISION - def check_submodules(): """ verify that the submodules are checked out and clean use `git submodule update --init`; on failure @@ -212,43 +56,11 @@ check_submodules() sdist.run(self) -def setup_package(): - src_path = os.path.dirname(os.path.abspath(__file__)) - sys.path.insert(0, src_path) - - # Rewrite the version file everytime - VERSION, gitrevision = get_version_info(src_path) - - metadata = dict( - name='slycot', - packages=['slycot', 'slycot.tests'], - cmake_languages=('C', 'Fortran'), - version=VERSION, - maintainer="Slycot developers", - maintainer_email="python-control-disc...@lists.sourceforge.net", - description=DOCLINES[0], - long_description=open('README.rst').read(), - url='https://github.com/python-control/Slycot', - author='Enrico Avventi et al.', - license='GPL-2.0', - classifiers=[_f for _f in CLASSIFIERS.split('\n') if _f], - platforms=["Windows", "Linux", "Solaris", "Mac OS-X", "Unix"], - cmdclass={"sdist": sdist_checked}, - cmake_args=['-DSLYCOT_VERSION:STRING=' + VERSION, - '-DGIT_REVISION:STRING=' + gitrevision, - '-DISRELEASE:STRING=' + str(ISRELEASED), - '-DFULL_VERSION=' + VERSION + '.git' + gitrevision[:7]], - zip_safe=False, - install_requires=['numpy'], - python_requires=">=3.7" - ) - - try: - setup(**metadata) - finally: - del sys.path[0] - return - - -if __name__ == '__main__': - setup_package() +# These need to stay in setup.py +# https://scikit-build.readthedocs.io/en/latest/usage.html#setuptools-options +setup( + packages=['slycot', 'slycot.tests'], + cmdclass={'sdist': sdist_checked}, + cmake_languages=('C', 'Fortran'), + use_scm_version = True, +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/slycot/CMakeLists.txt new/slycot-0.5.2/slycot/CMakeLists.txt --- old/slycot-0.5.0.0/slycot/CMakeLists.txt 2022-07-09 07:42:35.000000000 +0200 +++ new/slycot-0.5.2/slycot/CMakeLists.txt 2022-11-08 15:30:23.000000000 +0100 @@ -630,13 +630,11 @@ src/transform.pyf src/synthesis.pyf src/_helper.pyf) -configure_file(version.py.in version.py @ONLY) - set(PYSOURCE __init__.py examples.py exceptions.py analysis.py math.py synthesis.py transform.py - ${CMAKE_CURRENT_BINARY_DIR}/version.py) +) set(SLYCOT_MODULE "_wrapper") @@ -666,8 +664,9 @@ target_include_directories( ${SLYCOT_MODULE} PUBLIC + ${Python_INCLUDE_DIRS} + ${Python_NumPy_INCLUDE_DIRS} ${F2PY_INCLUDE_DIRS} - ${PYTHON_INCLUDE_DIRS} ) if (UNIX) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/slycot/__init__.py new/slycot-0.5.2/slycot/__init__.py --- old/slycot-0.5.0.0/slycot/__init__.py 2022-05-28 10:50:49.000000000 +0200 +++ new/slycot-0.5.2/slycot/__init__.py 2022-10-30 12:05:45.000000000 +0100 @@ -45,8 +45,7 @@ from .transform import tf01md, tf01rd from .transform import td04ad, tb01pd - # Version information - from .version import version as __version__ + from .version import __version__ def test(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/slycot/src/Readme.md new/slycot-0.5.2/slycot/src/Readme.md --- old/slycot-0.5.0.0/slycot/src/Readme.md 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/slycot/src/Readme.md 2021-03-17 12:49:25.000000000 +0100 @@ -0,0 +1,15 @@ +Fortran sources +--------------- + +This directory contains the f2py wrappers and some helper functions to work +with the SLICOT Library routines. SLICOT-Reference is a git submodule +forked from [SLICOT-Reference](https://github.com/SLICOT/SLICOT-Reference) +plus some backported improvements. + +If your local copy of the SLICOT-Reference directory is empty, get the correct +version from python-control/SLICOT-Reference (see the Slycot toplevel directory +README for instructions). + +The codes follow the Fortran 77 language conventions. SLICOT routines make +calls to the state-of-the-art packages LAPACK (Linear Algebra Package) and BLAS +(Basic Linear Algebra Subprograms). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/slycot/src/SLICOT-Reference/.git new/slycot-0.5.2/slycot/src/SLICOT-Reference/.git --- old/slycot-0.5.0.0/slycot/src/SLICOT-Reference/.git 2021-02-20 09:02:28.000000000 +0100 +++ new/slycot-0.5.2/slycot/src/SLICOT-Reference/.git 2021-02-07 21:42:18.000000000 +0100 @@ -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.5.0.0/slycot/version.py new/slycot-0.5.2/slycot/version.py --- old/slycot-0.5.0.0/slycot/version.py 1970-01-01 01:00:00.000000000 +0100 +++ new/slycot-0.5.2/slycot/version.py 2022-11-23 21:17:49.000000000 +0100 @@ -0,0 +1,5 @@ +# coding: utf-8 +# file generated by setuptools_scm +# don't change, don't track in version control +__version__ = version = '0.5.2' +__version_tuple__ = version_tuple = (0, 5, 2) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/slycot/version.py.in new/slycot-0.5.2/slycot/version.py.in --- old/slycot-0.5.0.0/slycot/version.py.in 2021-02-13 11:09:01.000000000 +0100 +++ new/slycot-0.5.2/slycot/version.py.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ - -# THIS FILE IS GENERATED FROM SLYCOT SETUP.PY -short_version = '@SLYCOT_VERSION@' -version = '@SLYCOT_VERSION@' -full_version = '@FULL_VERSION@' -git_revision = '@GIT_REVISION@' -release = @ISRELEASE@ - -if not release: - version = full_version diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/slycot.egg-info/PKG-INFO new/slycot-0.5.2/slycot.egg-info/PKG-INFO --- old/slycot-0.5.0.0/slycot.egg-info/PKG-INFO 2022-07-09 12:31:50.000000000 +0200 +++ new/slycot-0.5.2/slycot.egg-info/PKG-INFO 2022-11-23 21:17:49.000000000 +0100 @@ -1,37 +1,32 @@ Metadata-Version: 2.1 Name: slycot -Version: 0.5.0.0 -Summary: Slycot: a wrapper for the SLICOT control and systems library -Home-page: https://github.com/python-control/Slycot +Version: 0.5.2 +Summary: A wrapper for the SLICOT control and systems library Author: Enrico Avventi et al. -Maintainer: Slycot developers -Maintainer-email: python-control-disc...@lists.sourceforge.net -License: GPL-2.0 -Platform: Windows -Platform: Linux -Platform: Solaris -Platform: Mac OS-X -Platform: Unix +Maintainer-email: Slycot developers <python-control-disc...@lists.sourceforge.net> +License: 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 -Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 Classifier: Topic :: Software Development Classifier: Topic :: Scientific/Engineering Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: POSIX Classifier: Operating System :: Unix Classifier: Operating System :: MacOS -Requires-Python: >=3.7 -License-File: COPYING +Requires-Python: >=3.8 +Description-Content-Type: text/x-rst License-File: AUTHORS Slycot @@ -55,18 +50,18 @@ Dependencies ------------ -Slycot supports Python versions 3.6 or later. +Slycot supports Python versions 3.8 or later. To run the compiled Slycot package, the following must be installed as dependencies: -- Python 3.6+ +- Python 3.8+ - NumPy If you are compiling and installing Slycot from source, you will need the following dependencies: -- 3.6+ +- Python 3.8+ - NumPy - scikit-build - CMake @@ -225,7 +220,7 @@ for Windows. This method uses conda and conda-forge to get most build dependencies, *except* for the C compiler. -This procedure has been tested on Python 3.7 and 3.8. +This procedure has been tested on Python 3.8. 1. Install `Microsoft Visual Studio`_. 2. Unpack the source code to a directory of your choice, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/slycot.egg-info/SOURCES.txt new/slycot-0.5.2/slycot.egg-info/SOURCES.txt --- old/slycot-0.5.0.0/slycot.egg-info/SOURCES.txt 2022-07-09 12:31:51.000000000 +0200 +++ new/slycot-0.5.2/slycot.egg-info/SOURCES.txt 2022-11-23 21:17:49.000000000 +0100 @@ -1,3 +1,6 @@ +.coveragerc +.gitignore +.gitmodules AUTHORS CMakeLists.txt COPYING @@ -5,8 +8,13 @@ README.rst gpl-2.0.txt pyproject.toml -setup.cfg 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 +.github/scripts/set-pip-test-matrix.py +.github/workflows/slycot-build-and-test.yml conda-recipe/bld.bat conda-recipe/build.sh conda-recipe/meta.yaml @@ -18,13 +26,13 @@ slycot/math.py slycot/synthesis.py slycot/transform.py -slycot/version.py.in +slycot/version.py slycot.egg-info/PKG-INFO slycot.egg-info/SOURCES.txt slycot.egg-info/dependency_links.txt -slycot.egg-info/not-zip-safe slycot.egg-info/requires.txt slycot.egg-info/top_level.txt +slycot/src/Readme.md slycot/src/XERBLA.f slycot/src/_helper.pyf slycot/src/_wrapper.pyf diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slycot-0.5.0.0/slycot.egg-info/not-zip-safe new/slycot-0.5.2/slycot.egg-info/not-zip-safe --- old/slycot-0.5.0.0/slycot.egg-info/not-zip-safe 2022-07-09 11:28:54.000000000 +0200 +++ new/slycot-0.5.2/slycot.egg-info/not-zip-safe 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ - ++++++ slycot-rpmlintrc ++++++ # upstream tells users to slycot.test() the installation addFilter("python-tests-in-package .*slycot/tests")