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",
],
)