Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-editdistance for 
openSUSE:Factory checked in at 2021-11-03 17:26:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-editdistance (Old)
 and      /work/SRC/openSUSE:Factory/.python-editdistance.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-editdistance"

Wed Nov  3 17:26:01 2021 rev:5 rq:928894 version:0.6.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-editdistance/python-editdistance.changes  
2019-03-14 14:52:40.619785228 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-editdistance.new.1890/python-editdistance.changes
        2021-11-03 17:26:55.749358988 +0100
@@ -1,0 +2,8 @@
+Wed Nov  3 03:52:02 UTC 2021 - Steve Kowalik <[email protected]>
+
+- Update to 0.6.0:
+  * No code changes, include binary wheels for new version of python.
+- Switch from nose to pytest, dropping the awful mv calls.
+- LICENSE now shipped in sdist.
+
+-------------------------------------------------------------------

Old:
----
  editdistance-0.5.3.tar.gz

New:
----
  editdistance-0.6.0.tar.gz

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

Other differences:
------------------
++++++ python-editdistance.spec ++++++
--- /var/tmp/diff_new_pack.WLig9q/_old  2021-11-03 17:26:56.109359184 +0100
+++ /var/tmp/diff_new_pack.WLig9q/_new  2021-11-03 17:26:56.113359187 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-editdistance
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,16 +18,15 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-editdistance
-Version:        0.5.3
+Version:        0.6.0
 Release:        0
 Summary:        An implementation of the edit distance (Levenshtein distance)
 License:        MIT
-Group:          Development/Languages/Python
 URL:            https://www.github.com/aflc/editdistance
 Source:         
https://files.pythonhosted.org/packages/source/e/editdistance/editdistance-%{version}.tar.gz
 BuildRequires:  %{python_module Cython}
 BuildRequires:  %{python_module devel}
-BuildRequires:  %{python_module nose}
+BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
@@ -63,14 +62,10 @@
 %python_expand %fdupes %{buildroot}%{$python_sitearch}
 
 %check
-# Hide source during tests so that nose finds the installed version
-mv editdistance _editdistance
-%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -m nose
-mv _editdistance editdistance
+%pytest_arch
 
 %files %{python_files}
-# Lack of separate license noted at 
https://github.com/aflc/editdistance/issues/23
-%license README.rst
+%license LICENSE
 %doc README.rst
 %exclude %{python_sitearch}/editdistance/*.h
 %{python_sitearch}/

++++++ editdistance-0.5.3.tar.gz -> editdistance-0.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editdistance-0.5.3/LICENSE 
new/editdistance-0.6.0/LICENSE
--- old/editdistance-0.5.3/LICENSE      1970-01-01 01:00:00.000000000 +0100
+++ new/editdistance-0.6.0/LICENSE      2021-10-09 08:05:55.000000000 +0200
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2019 Hiroyuki Tanaka
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editdistance-0.5.3/PKG-INFO 
new/editdistance-0.6.0/PKG-INFO
--- old/editdistance-0.5.3/PKG-INFO     2019-03-10 09:56:35.000000000 +0100
+++ new/editdistance-0.6.0/PKG-INFO     2021-10-09 08:05:56.440228500 +0200
@@ -1,14 +1,138 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: editdistance
-Version: 0.5.3
+Version: 0.6.0
 Summary: Fast implementation of the edit distance(Levenshtein distance)
-Home-page: https://www.github.com/aflc/editdistance
+Home-page: https://www.github.com/roy-ht/editdistance
 Author: Hiroyuki Tanaka
 Author-email: [email protected]
 License: UNKNOWN
-Description: UNKNOWN
+Description: ============
+        editdistance
+        ============
+        
+        Fast implementation of the edit distance (Levenshtein distance).
+        
+        This library simply implements `Levenshtein distance 
<http://en.wikipedia.org/wiki/Levenshtein_distance>`_ with C++ and Cython.
+        
+        The algorithm used in this library is proposed by
+        `Heikki Hyyr??, "Explaining and extending the bit-parallel approximate 
string matching algorithm of Myers", (2001) 
<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.7158&rep=rep1&type=pdf>`_.
+        
+        -------------
+        Binary wheels
+        -------------
+        
+        Thanks to `joerick/cibuildwheel 
<https://github.com/joerick/cibuildwheel>`_, 
+        There are binary wheels on Linux, Mac OS, and Windows.
+        
+        -------
+        Install
+        -------
+        
+        You can install via pip:
+        
+        .. code-block:: bash
+        
+            pip install editdistance
+        
+        
+        -----
+        Usage
+        -----
+        
+        It's quite simple:
+        
+        .. code-block:: python
+        
+            import editdistance
+            editdistance.eval('banana', 'bahama')
+            # 2L
+        
+        
+        ----------------
+        Simple Benchmark
+        ----------------
+        
+        With IPython, I tried several libraries:
+        
+        * `pyxDamerauLevenshtein 
<https://pypi.python.org/pypi/pyxDamerauLevenshtein>`_
+        * `pylev <https://pypi.python.org/pypi/pylev>`_
+        * `python-Levenshtein 
<https://pypi.python.org/pypi/python-Levenshtein>`_
+        
+        On Python 2.7.5:
+        
+        .. code-block:: python
+        
+            a = 'fsffvfdsbbdfvvdavavavavavava'
+            b = 'fvdaabavvvvvadvdvavavadfsfsdafvvav'
+            import pylev
+            timeit pylev.levenshtein(a, b)
+            # 100 loops, best of 3: 7.48 ms per loop
+            
+            from pyxdameraulevenshtein import damerau_levenshtein_distance
+            timeit damerau_levenshtein_distance(a, b)
+            # 100000 loops, best of 3: 11.4 ??s per loop
+            
+            timeit editdistance.eval(a, b)  # my library
+            # 100000 loops, best of 3: 3.5 ??s per loop
+            
+            import Levenshtein
+            
+            timeit Levenshtein.distance(a, b)
+            # 100000 loops, best of 3: 3.21 ??s per loop
+        
+        
+        ------------------------
+        Distance with Any Object
+        ------------------------
+        
+        Above libraries only support strings.
+        But Sometimes other type of objects such as list of strings(words).
+        I support any iterable, only requires hashable object of it:
+        
+        .. code-block:: python
+        
+            Levenshtein.distance(['spam', 'egg'], ['spam', 'ham'])
+            # 
---------------------------------------------------------------------------
+            # TypeError                                 Traceback (most recent 
call last)
+            # <ipython-input-22-3e0b30d145ac> in <module>()
+            # ----> 1 Levenshtein.distance(['spam', 'egg'], ['spam', 'ham'])
+            #
+            # TypeError: distance expected two Strings or two Unicodes
+            
+            editdistance.eval(['spam', 'egg'], ['spam', 'ham'])
+            # 1L
+        
+        So if object's hash is same, it's same.
+        You can provide ``__hash__`` method to your object instances.
+        
+        Enjoy!
+        
+        
+        -------
+        License
+        -------
+        
+        It is released under the MIT license.
+        
+            Copyright (c) 2013 Hiroyuki Tanaka
+        
+            Permission is hereby granted, free of charge, to any person 
obtaining a copy of this software and associated documentation files (the 
"Software"), to deal in the Software without restriction, including without 
limitation the rights to use, copy, modify, merge, publish, distribute, 
sublicense, and/or sell copies of the Software, and to permit persons to whom 
the Software is furnished to do so, subject to the following conditions:
+        
+            The above copyright notice and this permission notice shall be 
included in all copies or substantial portions of the Software.
+        
+            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO 
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
DEALINGS IN THE SOFTWARE.
+        
 Platform: UNKNOWN
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Requires-Python: >=3.5
+Description-Content-Type: text/x-rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editdistance-0.5.3/editdistance/_editdistance.cpp 
new/editdistance-0.6.0/editdistance/_editdistance.cpp
--- old/editdistance-0.5.3/editdistance/_editdistance.cpp       2019-01-26 
23:33:07.000000000 +0100
+++ new/editdistance-0.6.0/editdistance/_editdistance.cpp       2021-10-09 
08:05:55.000000000 +0200
@@ -64,15 +64,16 @@
 template<typename T>
 unsigned int edit_distance_dp(T const *str1, size_t const size1, T const 
*str2, size_t const size2) {
     // 
vector???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-    vector< vector<uint32_t> > d(size1 + 1, vector<uint32_t>(size2 + 1));
-    for (int i = 0; i < size1 + 1; i++) d[i][0] = i;
+    vector< vector<uint32_t> > d(2, vector<uint32_t>(size2 + 1));
+    d[0][0] = 0;
+    d[1][0] = 1;
     for (int i = 0; i < size2 + 1; i++) d[0][i] = i;
     for (int i = 1; i < size1 + 1; i++) {
         for (int j = 1; j < size2 + 1; j++) {
-            d[i][j] = min(min(d[i-1][j], d[i][j-1]) + 1, d[i-1][j-1] + 
(str1[i-1] == str2[j-1] ? 0 : 1));
+            d[i&1][j] = min(min(d[(i-1)&1][j], d[i&1][j-1]) + 1, 
d[(i-1)&1][j-1] + (str1[i-1] == str2[j-1] ? 0 : 1));
         }
     }
-    return d[size1][size2];
+    return d[size1&1][size2];
 }
 
 template <size_t N>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editdistance-0.5.3/editdistance.egg-info/PKG-INFO 
new/editdistance-0.6.0/editdistance.egg-info/PKG-INFO
--- old/editdistance-0.5.3/editdistance.egg-info/PKG-INFO       2019-03-10 
09:56:34.000000000 +0100
+++ new/editdistance-0.6.0/editdistance.egg-info/PKG-INFO       2021-10-09 
08:05:56.000000000 +0200
@@ -1,14 +1,138 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: editdistance
-Version: 0.5.3
+Version: 0.6.0
 Summary: Fast implementation of the edit distance(Levenshtein distance)
-Home-page: https://www.github.com/aflc/editdistance
+Home-page: https://www.github.com/roy-ht/editdistance
 Author: Hiroyuki Tanaka
 Author-email: [email protected]
 License: UNKNOWN
-Description: UNKNOWN
+Description: ============
+        editdistance
+        ============
+        
+        Fast implementation of the edit distance (Levenshtein distance).
+        
+        This library simply implements `Levenshtein distance 
<http://en.wikipedia.org/wiki/Levenshtein_distance>`_ with C++ and Cython.
+        
+        The algorithm used in this library is proposed by
+        `Heikki Hyyr??, "Explaining and extending the bit-parallel approximate 
string matching algorithm of Myers", (2001) 
<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.7158&rep=rep1&type=pdf>`_.
+        
+        -------------
+        Binary wheels
+        -------------
+        
+        Thanks to `joerick/cibuildwheel 
<https://github.com/joerick/cibuildwheel>`_, 
+        There are binary wheels on Linux, Mac OS, and Windows.
+        
+        -------
+        Install
+        -------
+        
+        You can install via pip:
+        
+        .. code-block:: bash
+        
+            pip install editdistance
+        
+        
+        -----
+        Usage
+        -----
+        
+        It's quite simple:
+        
+        .. code-block:: python
+        
+            import editdistance
+            editdistance.eval('banana', 'bahama')
+            # 2L
+        
+        
+        ----------------
+        Simple Benchmark
+        ----------------
+        
+        With IPython, I tried several libraries:
+        
+        * `pyxDamerauLevenshtein 
<https://pypi.python.org/pypi/pyxDamerauLevenshtein>`_
+        * `pylev <https://pypi.python.org/pypi/pylev>`_
+        * `python-Levenshtein 
<https://pypi.python.org/pypi/python-Levenshtein>`_
+        
+        On Python 2.7.5:
+        
+        .. code-block:: python
+        
+            a = 'fsffvfdsbbdfvvdavavavavavava'
+            b = 'fvdaabavvvvvadvdvavavadfsfsdafvvav'
+            import pylev
+            timeit pylev.levenshtein(a, b)
+            # 100 loops, best of 3: 7.48 ms per loop
+            
+            from pyxdameraulevenshtein import damerau_levenshtein_distance
+            timeit damerau_levenshtein_distance(a, b)
+            # 100000 loops, best of 3: 11.4 ??s per loop
+            
+            timeit editdistance.eval(a, b)  # my library
+            # 100000 loops, best of 3: 3.5 ??s per loop
+            
+            import Levenshtein
+            
+            timeit Levenshtein.distance(a, b)
+            # 100000 loops, best of 3: 3.21 ??s per loop
+        
+        
+        ------------------------
+        Distance with Any Object
+        ------------------------
+        
+        Above libraries only support strings.
+        But Sometimes other type of objects such as list of strings(words).
+        I support any iterable, only requires hashable object of it:
+        
+        .. code-block:: python
+        
+            Levenshtein.distance(['spam', 'egg'], ['spam', 'ham'])
+            # 
---------------------------------------------------------------------------
+            # TypeError                                 Traceback (most recent 
call last)
+            # <ipython-input-22-3e0b30d145ac> in <module>()
+            # ----> 1 Levenshtein.distance(['spam', 'egg'], ['spam', 'ham'])
+            #
+            # TypeError: distance expected two Strings or two Unicodes
+            
+            editdistance.eval(['spam', 'egg'], ['spam', 'ham'])
+            # 1L
+        
+        So if object's hash is same, it's same.
+        You can provide ``__hash__`` method to your object instances.
+        
+        Enjoy!
+        
+        
+        -------
+        License
+        -------
+        
+        It is released under the MIT license.
+        
+            Copyright (c) 2013 Hiroyuki Tanaka
+        
+            Permission is hereby granted, free of charge, to any person 
obtaining a copy of this software and associated documentation files (the 
"Software"), to deal in the Software without restriction, including without 
limitation the rights to use, copy, modify, merge, publish, distribute, 
sublicense, and/or sell copies of the Software, and to permit persons to whom 
the Software is furnished to do so, subject to the following conditions:
+        
+            The above copyright notice and this permission notice shall be 
included in all copies or substantial portions of the Software.
+        
+            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO 
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
DEALINGS IN THE SOFTWARE.
+        
 Platform: UNKNOWN
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Requires-Python: >=3.5
+Description-Content-Type: text/x-rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editdistance-0.5.3/editdistance.egg-info/SOURCES.txt 
new/editdistance-0.6.0/editdistance.egg-info/SOURCES.txt
--- old/editdistance-0.5.3/editdistance.egg-info/SOURCES.txt    2019-03-10 
09:56:35.000000000 +0100
+++ new/editdistance-0.6.0/editdistance.egg-info/SOURCES.txt    2021-10-09 
08:05:56.000000000 +0200
@@ -1,3 +1,4 @@
+LICENSE
 README.rst
 setup.py
 editdistance/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editdistance-0.5.3/setup.py 
new/editdistance-0.6.0/setup.py
--- old/editdistance-0.5.3/setup.py     2019-03-10 09:55:23.000000000 +0100
+++ new/editdistance-0.6.0/setup.py     2021-10-09 08:05:55.000000000 +0200
@@ -1,4 +1,4 @@
-'''
+"""
 -------
 License
 -------
@@ -12,40 +12,52 @@
     The above copyright notice and this permission notice shall be included in 
all copies or substantial portions of the Software.
 
     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
-'''
+"""
 
 
 try:
-    from setuptools import setup, Extension
+    from setuptools import Extension, setup
 except:
-    from distutils import setup, Extension
+    from distutils import Extension, setup
 # for development
 # from Cython.Build import cythonize
 # ext_modules = cythonize('editdistance/bycython.pyx')
 
 ext_modules = [
     Extension(
-        'editdistance.bycython',
-        ['editdistance/_editdistance.cpp', 'editdistance/bycython.cpp'],
-        include_dirs=['./editdistance'],
+        "editdistance.bycython",
+        ["editdistance/_editdistance.cpp", "editdistance/bycython.cpp"],
+        include_dirs=["./editdistance"],
     )
 ]
 
+with open("README.rst") as readme_file:
+    readme = readme_file.read()
+
 setup(
     name="editdistance",
-    version='0.5.3',
+    version="0.6.0",
+    python_requires=">=3.5",
     description="Fast implementation of the edit distance(Levenshtein 
distance)",
-    long_description='',
-    author='Hiroyuki Tanaka',
-    author_email='[email protected]',
-    url='https://www.github.com/aflc/editdistance',
+    long_description=readme,
+    long_description_content_type="text/x-rst",
+    author="Hiroyuki Tanaka",
+    author_email="[email protected]",
+    url="https://www.github.com/roy-ht/editdistance";,
     ext_modules=ext_modules,
-    packages=['editdistance'],
-    package_data={'editdistance': ['_editdistance.h', 'def.h']},
+    packages=["editdistance"],
+    package_data={"editdistance": ["_editdistance.h", "def.h"]},
     classifiers=[
-        'License :: OSI Approved :: MIT License',
-        'Programming Language :: Python',
-        'Programming Language :: Python :: 2.7',
-        'Programming Language :: Python :: 3',
+        "License :: OSI Approved :: MIT License",
+        "Programming Language :: Python",
+        "Programming Language :: Python :: 3",
+        "Programming Language :: Python :: 3 :: Only",
+        "Programming Language :: Python :: 3.5",
+        "Programming Language :: Python :: 3.6",
+        "Programming Language :: Python :: 3.7",
+        "Programming Language :: Python :: 3.8",
+        "Programming Language :: Python :: 3.9",
+        "Programming Language :: Python :: Implementation :: CPython",
+        "Programming Language :: Python :: Implementation :: PyPy",
     ],
 )

Reply via email to