Hello community, here is the log from the commit of package python-imreg for openSUSE:Factory checked in at 2020-02-03 11:12:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-imreg (Old) and /work/SRC/openSUSE:Factory/.python-imreg.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-imreg" Mon Feb 3 11:12:51 2020 rev:2 rq:768797 version:2020.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-imreg/python-imreg.changes 2019-11-28 10:13:37.867636869 +0100 +++ /work/SRC/openSUSE:Factory/.python-imreg.new.26092/python-imreg.changes 2020-02-03 11:13:05.245837930 +0100 @@ -1,0 +2,8 @@ +Thu Jan 30 14:58:59 UTC 2020 - Todd R <toddrme2...@gmail.com> + +- Update to 2020.1.1 + * Drop python2 support + * Bump dependency versions + * Code formatting cleanups + +------------------------------------------------------------------- Old: ---- imreg-2019.1.1.tar.gz New: ---- imreg-2020.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-imreg.spec ++++++ --- /var/tmp/diff_new_pack.XfppNk/_old 2020-02-03 11:13:05.897838260 +0100 +++ /var/tmp/diff_new_pack.XfppNk/_new 2020-02-03 11:13:05.901838262 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-imreg # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-imreg -Version: 2019.1.1 +Version: 2020.1.1 Release: 0 Summary: FFT based image registration License: BSD-3-Clause @@ -28,12 +28,12 @@ BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-numpy >= 1.11 -Requires: python-scipy >= 1.0 +Requires: python-numpy >= 1.14.5 +Requires: python-scipy >= 1.3 BuildArch: noarch # SECTION test requirements -BuildRequires: %{python_module numpy >= 1.11} -BuildRequires: %{python_module scipy >= 1.0} +BuildRequires: %{python_module numpy >= 1.14.5} +BuildRequires: %{python_module scipy >= 1.3} # /SECTION %python_subpackages ++++++ imreg-2019.1.1.tar.gz -> imreg-2020.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imreg-2019.1.1/LICENSE new/imreg-2020.1.1/LICENSE --- old/imreg-2019.1.1/LICENSE 2019-01-08 00:02:17.000000000 +0100 +++ new/imreg-2020.1.1/LICENSE 2020-01-18 00:34:22.000000000 +0100 @@ -1,21 +1,21 @@ -Copyright (c) 2011-2019, Christoph Gohlke -Copyright (c) 2011-2019, The Regents of the University of California -Produced at the Laboratory for Fluorescence Dynamics +BSD 3-Clause License + +Copyright (c) 2011-2020, Christoph Gohlke All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imreg-2019.1.1/PKG-INFO new/imreg-2020.1.1/PKG-INFO --- old/imreg-2019.1.1/PKG-INFO 2019-01-08 00:02:18.000000000 +0100 +++ new/imreg-2020.1.1/PKG-INFO 2020-01-18 00:34:23.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: imreg -Version: 2019.1.1 +Version: 2020.1.1 Summary: FFT based image registration Home-page: https://www.lfd.uci.edu/~gohlke/ Author: Christoph Gohlke @@ -18,14 +18,16 @@ :Organization: Laboratory for Fluorescence Dynamics, University of California, Irvine - :Version: 2019.1.1 + :License: BSD 3-Clause + + :Version: 2020.1.1 Requirements ------------ - * `CPython 2.7 or 3.5+ <https://www.python.org>`_ - * `Numpy 1.13 <https://www.numpy.org>`_ - * `Scipy 1.1 <https://www.scipy.org>`_ - * `Matplotlib 2.2 <https://www.matplotlib.org>`_ (optional for plotting) + * `CPython >= 3.6 <https://www.python.org>`_ + * `Numpy 1.14 <https://www.numpy.org>`_ + * `Scipy 1.3 <https://www.scipy.org>`_ + * `Matplotlib 3.1 <https://www.matplotlib.org>`_ (optional for plotting) Notes ----- @@ -37,14 +39,14 @@ References ---------- - (1) An FFT-based technique for translation, rotation and scale-invariant - image registration. BS Reddy, BN Chatterji. - IEEE Transactions on Image Processing, 5, 1266-1271, 1996 - (2) An IDL/ENVI implementation of the FFT-based algorithm for automatic - image registration. H Xiea, N Hicksa, GR Kellera, H Huangb, V Kreinovich. - Computers & Geosciences, 29, 1045-1055, 2003. - (3) Image Registration Using Adaptive Polar Transform. R Matungka, YF Zheng, - RL Ewing. IEEE Transactions on Image Processing, 18(10), 2009. + 1. An FFT-based technique for translation, rotation and scale-invariant + image registration. BS Reddy, BN Chatterji. + IEEE Transactions on Image Processing, 5, 1266-1271, 1996 + 2. An IDL/ENVI implementation of the FFT-based algorithm for automatic + image registration. H Xiea, N Hicksa, GR Kellera, H Huangb, V Kreinovich. + Computers & Geosciences, 29, 1045-1055, 2003. + 3. Image Registration Using Adaptive Polar Transform. R Matungka, YF Zheng, + RL Ewing. IEEE Transactions on Image Processing, 18(10), 2009. Examples -------- @@ -56,6 +58,8 @@ >>> im0 = imread('t350380ori') >>> im1 = imread('t350380shf') >>> t0, t1 = translation(im0, im1) + >>> t0, t1 + (20, 50) Platform: any Classifier: Development Status :: 7 - Inactive @@ -63,10 +67,8 @@ Classifier: Intended Audience :: Science/Research Classifier: Intended Audience :: Developers Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 -Requires-Python: >=2.7 +Classifier: Programming Language :: Python :: 3.8 +Requires-Python: >=3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imreg-2019.1.1/README.rst new/imreg-2020.1.1/README.rst --- old/imreg-2019.1.1/README.rst 2019-01-08 00:02:17.000000000 +0100 +++ new/imreg-2020.1.1/README.rst 2020-01-18 00:34:22.000000000 +0100 @@ -10,14 +10,16 @@ :Organization: Laboratory for Fluorescence Dynamics, University of California, Irvine -:Version: 2019.1.1 +:License: BSD 3-Clause + +:Version: 2020.1.1 Requirements ------------ -* `CPython 2.7 or 3.5+ <https://www.python.org>`_ -* `Numpy 1.13 <https://www.numpy.org>`_ -* `Scipy 1.1 <https://www.scipy.org>`_ -* `Matplotlib 2.2 <https://www.matplotlib.org>`_ (optional for plotting) +* `CPython >= 3.6 <https://www.python.org>`_ +* `Numpy 1.14 <https://www.numpy.org>`_ +* `Scipy 1.3 <https://www.scipy.org>`_ +* `Matplotlib 3.1 <https://www.matplotlib.org>`_ (optional for plotting) Notes ----- @@ -29,14 +31,14 @@ References ---------- -(1) An FFT-based technique for translation, rotation and scale-invariant - image registration. BS Reddy, BN Chatterji. - IEEE Transactions on Image Processing, 5, 1266-1271, 1996 -(2) An IDL/ENVI implementation of the FFT-based algorithm for automatic - image registration. H Xiea, N Hicksa, GR Kellera, H Huangb, V Kreinovich. - Computers & Geosciences, 29, 1045-1055, 2003. -(3) Image Registration Using Adaptive Polar Transform. R Matungka, YF Zheng, - RL Ewing. IEEE Transactions on Image Processing, 18(10), 2009. +1. An FFT-based technique for translation, rotation and scale-invariant + image registration. BS Reddy, BN Chatterji. + IEEE Transactions on Image Processing, 5, 1266-1271, 1996 +2. An IDL/ENVI implementation of the FFT-based algorithm for automatic + image registration. H Xiea, N Hicksa, GR Kellera, H Huangb, V Kreinovich. + Computers & Geosciences, 29, 1045-1055, 2003. +3. Image Registration Using Adaptive Polar Transform. R Matungka, YF Zheng, + RL Ewing. IEEE Transactions on Image Processing, 18(10), 2009. Examples -------- @@ -48,3 +50,5 @@ >>> im0 = imread('t350380ori') >>> im1 = imread('t350380shf') >>> t0, t1 = translation(im0, im1) +>>> t0, t1 +(20, 50) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imreg-2019.1.1/imreg/__init__.py new/imreg-2020.1.1/imreg/__init__.py --- old/imreg-2019.1.1/imreg/__init__.py 2019-01-07 22:55:24.000000000 +0100 +++ new/imreg-2020.1.1/imreg/__init__.py 2020-01-01 03:39:29.000000000 +0100 @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # imreg/__init__.py from .imreg import __doc__, __all__, __version__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imreg-2019.1.1/imreg/imreg.py new/imreg-2020.1.1/imreg/imreg.py --- old/imreg-2019.1.1/imreg/imreg.py 2019-01-08 00:01:43.000000000 +0100 +++ new/imreg-2020.1.1/imreg/imreg.py 2020-01-18 00:33:53.000000000 +0100 @@ -1,24 +1,21 @@ -# -*- coding: utf-8 -*- # imreg.py -# Copyright (c) 2011-2019, Christoph Gohlke -# Copyright (c) 2011-2019, The Regents of the University of California -# Produced at the Laboratory for Fluorescence Dynamics +# Copyright (c) 2011-2020, Christoph Gohlke # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. # -# * Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. # -# * Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -43,14 +40,16 @@ :Organization: Laboratory for Fluorescence Dynamics, University of California, Irvine -:Version: 2019.1.1 +:License: BSD 3-Clause + +:Version: 2020.1.1 Requirements ------------ -* `CPython 2.7 or 3.5+ <https://www.python.org>`_ -* `Numpy 1.13 <https://www.numpy.org>`_ -* `Scipy 1.1 <https://www.scipy.org>`_ -* `Matplotlib 2.2 <https://www.matplotlib.org>`_ (optional for plotting) +* `CPython >= 3.6 <https://www.python.org>`_ +* `Numpy 1.14 <https://www.numpy.org>`_ +* `Scipy 1.3 <https://www.scipy.org>`_ +* `Matplotlib 3.1 <https://www.matplotlib.org>`_ (optional for plotting) Notes ----- @@ -62,14 +61,14 @@ References ---------- -(1) An FFT-based technique for translation, rotation and scale-invariant - image registration. BS Reddy, BN Chatterji. - IEEE Transactions on Image Processing, 5, 1266-1271, 1996 -(2) An IDL/ENVI implementation of the FFT-based algorithm for automatic - image registration. H Xiea, N Hicksa, GR Kellera, H Huangb, V Kreinovich. - Computers & Geosciences, 29, 1045-1055, 2003. -(3) Image Registration Using Adaptive Polar Transform. R Matungka, YF Zheng, - RL Ewing. IEEE Transactions on Image Processing, 18(10), 2009. +1. An FFT-based technique for translation, rotation and scale-invariant + image registration. BS Reddy, BN Chatterji. + IEEE Transactions on Image Processing, 5, 1266-1271, 1996 +2. An IDL/ENVI implementation of the FFT-based algorithm for automatic + image registration. H Xiea, N Hicksa, GR Kellera, H Huangb, V Kreinovich. + Computers & Geosciences, 29, 1045-1055, 2003. +3. Image Registration Using Adaptive Polar Transform. R Matungka, YF Zheng, + RL Ewing. IEEE Transactions on Image Processing, 18(10), 2009. Examples -------- @@ -81,22 +80,27 @@ >>> im0 = imread('t350380ori') >>> im1 = imread('t350380shf') >>> t0, t1 = translation(im0, im1) +>>> t0, t1 +(20, 50) """ -from __future__ import division, print_function +__version__ = '2020.1.1' -__version__ = '2019.1.1' -__docformat__ = 'restructuredtext en' -__all__ = ('translation', 'similarity', 'similarity_matrix', 'logpolar', - 'highpass', 'imread', 'imshow') +__all__ = ( + 'translation', 'similarity', 'similarity_matrix', 'logpolar', 'highpass', + 'imread', 'imshow', 'ndii' +) import math import numpy from numpy.fft import fft2, ifft2, fftshift -import scipy.ndimage.interpolation as ndii +try: + import scipy.ndimage.interpolation as ndii +except ImportError: + import ndimage.interpolation as ndii def translation(im0, im1): @@ -130,9 +134,9 @@ """ if im0.shape != im1.shape: - raise ValueError('Images must have same shapes.') - elif len(im0.shape) != 2: - raise ValueError('Images must be 2 dimensional.') + raise ValueError('images must have same shapes') + if len(im0.shape) != 2: + raise ValueError('images must be 2 dimensional') f0 = fftshift(abs(fft2(im0))) f1 = fftshift(abs(fft2(im1))) @@ -159,7 +163,7 @@ angle = -180.0 * i0 / ir.shape[0] scale = 1.0 / (log_base ** i1) if scale > 1.8: - raise ValueError('Images are not compatible. Scale change > 1.8') + raise ValueError('images are not compatible. Scale change > 1.8') if angle < -90.0: angle += 180.0 @@ -190,10 +194,10 @@ # correct parameters for ndimage's internal processing if angle > 0.0: - d = int((int(im1.shape[1] / scale) * math.sin(math.radians(angle)))) + d = int(int(im1.shape[1] / scale) * math.sin(math.radians(angle))) t0, t1 = t1, d+t0 elif angle < 0.0: - d = int((int(im1.shape[0] / scale) * math.sin(math.radians(angle)))) + d = int(int(im1.shape[0] / scale) * math.sin(math.radians(angle))) t0, t1 = d+t1, d+t0 scale = (im1.shape[1] - 1) / (int(im1.shape[1] / scale) - 1) @@ -203,8 +207,8 @@ def similarity_matrix(scale, angle, vector): """Return homogeneous transformation matrix from similarity parameters. - Transformation parameters are: isotropic scale factor, rotation angle (in - degrees), and translation vector (of size 2). + Transformation parameters are: isotropic scale factor, rotation angle + (in degrees), and translation vector (of size 2). The order of transformations is: scale, rotate, translate. @@ -247,16 +251,16 @@ def highpass(shape): """Return highpass filter to be multiplied with fourier transform.""" x = numpy.outer( - numpy.cos(numpy.linspace(-math.pi/2., math.pi/2., shape[0])), - numpy.cos(numpy.linspace(-math.pi/2., math.pi/2., shape[1]))) + numpy.cos(numpy.linspace(-math.pi/2.0, math.pi/2.0, shape[0])), + numpy.cos(numpy.linspace(-math.pi/2.0, math.pi/2.0, shape[1]))) return (1.0 - x) * (2.0 - x) def imread(fname, norm=True): """Return image data from img&hdr uint8 files.""" - with open(fname+'.hdr', 'r') as fh: + with open(fname + '.hdr', 'r') as fh: hdr = fh.readlines() - img = numpy.fromfile(fname+'.img', numpy.uint8, -1) + img = numpy.fromfile(fname + '.img', numpy.uint8, -1) img.shape = int(hdr[4].split()[-1]), int(hdr[3].split()[-1]) if norm: img = img.astype('float64') @@ -267,6 +271,7 @@ def imshow(im0, im1, im2, im3=None, cmap=None, **kwargs): """Plot images using matplotlib.""" from matplotlib import pyplot + if im3 is None: im3 = abs(im2 - im0) pyplot.subplot(221) @@ -278,3 +283,14 @@ pyplot.subplot(224) pyplot.imshow(im2, cmap, **kwargs) pyplot.show() + + +if __name__ == '__main__': + import os + import doctest + + try: + os.chdir('data') + except Exception: + pass + doctest.testmod() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imreg-2019.1.1/imreg.egg-info/PKG-INFO new/imreg-2020.1.1/imreg.egg-info/PKG-INFO --- old/imreg-2019.1.1/imreg.egg-info/PKG-INFO 2019-01-08 00:02:17.000000000 +0100 +++ new/imreg-2020.1.1/imreg.egg-info/PKG-INFO 2020-01-18 00:34:23.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: imreg -Version: 2019.1.1 +Version: 2020.1.1 Summary: FFT based image registration Home-page: https://www.lfd.uci.edu/~gohlke/ Author: Christoph Gohlke @@ -18,14 +18,16 @@ :Organization: Laboratory for Fluorescence Dynamics, University of California, Irvine - :Version: 2019.1.1 + :License: BSD 3-Clause + + :Version: 2020.1.1 Requirements ------------ - * `CPython 2.7 or 3.5+ <https://www.python.org>`_ - * `Numpy 1.13 <https://www.numpy.org>`_ - * `Scipy 1.1 <https://www.scipy.org>`_ - * `Matplotlib 2.2 <https://www.matplotlib.org>`_ (optional for plotting) + * `CPython >= 3.6 <https://www.python.org>`_ + * `Numpy 1.14 <https://www.numpy.org>`_ + * `Scipy 1.3 <https://www.scipy.org>`_ + * `Matplotlib 3.1 <https://www.matplotlib.org>`_ (optional for plotting) Notes ----- @@ -37,14 +39,14 @@ References ---------- - (1) An FFT-based technique for translation, rotation and scale-invariant - image registration. BS Reddy, BN Chatterji. - IEEE Transactions on Image Processing, 5, 1266-1271, 1996 - (2) An IDL/ENVI implementation of the FFT-based algorithm for automatic - image registration. H Xiea, N Hicksa, GR Kellera, H Huangb, V Kreinovich. - Computers & Geosciences, 29, 1045-1055, 2003. - (3) Image Registration Using Adaptive Polar Transform. R Matungka, YF Zheng, - RL Ewing. IEEE Transactions on Image Processing, 18(10), 2009. + 1. An FFT-based technique for translation, rotation and scale-invariant + image registration. BS Reddy, BN Chatterji. + IEEE Transactions on Image Processing, 5, 1266-1271, 1996 + 2. An IDL/ENVI implementation of the FFT-based algorithm for automatic + image registration. H Xiea, N Hicksa, GR Kellera, H Huangb, V Kreinovich. + Computers & Geosciences, 29, 1045-1055, 2003. + 3. Image Registration Using Adaptive Polar Transform. R Matungka, YF Zheng, + RL Ewing. IEEE Transactions on Image Processing, 18(10), 2009. Examples -------- @@ -56,6 +58,8 @@ >>> im0 = imread('t350380ori') >>> im1 = imread('t350380shf') >>> t0, t1 = translation(im0, im1) + >>> t0, t1 + (20, 50) Platform: any Classifier: Development Status :: 7 - Inactive @@ -63,10 +67,8 @@ Classifier: Intended Audience :: Science/Research Classifier: Intended Audience :: Developers Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 -Requires-Python: >=2.7 +Classifier: Programming Language :: Python :: 3.8 +Requires-Python: >=3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imreg-2019.1.1/imreg.egg-info/requires.txt new/imreg-2020.1.1/imreg.egg-info/requires.txt --- old/imreg-2019.1.1/imreg.egg-info/requires.txt 2019-01-08 00:02:17.000000000 +0100 +++ new/imreg-2020.1.1/imreg.egg-info/requires.txt 2020-01-18 00:34:23.000000000 +0100 @@ -1,2 +1,2 @@ -numpy>=1.11 -scipy>=1.0 +numpy>=1.14.5 +scipy>=1.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imreg-2019.1.1/setup.py new/imreg-2020.1.1/setup.py --- old/imreg-2019.1.1/setup.py 2019-01-07 23:09:56.000000000 +0100 +++ new/imreg-2020.1.1/setup.py 2020-01-17 21:27:36.000000000 +0100 @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # imreg/setup.py """imreg package setuptools script.""" @@ -12,18 +11,23 @@ code = fh.read() version = re.search(r"__version__ = '(.*?)'", code).groups()[0] -description = re.search(r'"""(.*)\.[\r\n?|\n]', code).groups()[0] -readme = re.search(r'[\r\n?|\n]{2}"""(.*)"""[\r\n?|\n]{2}from', code, - re.MULTILINE | re.DOTALL).groups()[0] -license = re.search(r'(# Copyright.*?[\r\n?|\n])[\r\n?|\n]+""', code, + +description = re.search(r'"""(.*)\.(?:\r\n|\r|\n)', code).groups()[0] + +readme = re.search(r'(?:\r\n|\r|\n){2}"""(.*)"""(?:\r\n|\r|\n){2}__version__', + code, re.MULTILINE | re.DOTALL).groups()[0] + +readme = '\n'.join([description, '=' * len(description)] + + readme.splitlines()[1:]) + +license = re.search(r'(# Copyright.*?(?:\r\n|\r|\n))(?:\r\n|\r|\n)+""', code, re.MULTILINE | re.DOTALL).groups()[0] -readme = '\n'.join([description, '=' * len(description)] - + readme.splitlines()[1:]) license = license.replace('# ', '').replace('#', '') if 'sdist' in sys.argv: with open('LICENSE', 'w') as fh: + fh.write('BSD 3-Clause License\n\n') fh.write(license) with open('README.rst', 'w') as fh: fh.write(readme) @@ -37,8 +41,8 @@ author_email='cgoh...@uci.edu', url='https://www.lfd.uci.edu/~gohlke/', packages=['imreg'], - python_requires='>=2.7', - install_requires=['numpy>=1.11', 'scipy>=1.0'], + python_requires='>=3.6', + install_requires=['numpy>=1.14.5', 'scipy>=1.2'], license='BSD', platforms=['any'], classifiers=[ @@ -47,11 +51,9 @@ 'Intended Audience :: Science/Research', 'Intended Audience :: Developers', 'Operating System :: OS Independent', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3 :: Only', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', - ], + 'Programming Language :: Python :: 3.8', + ], )