Hello community,
here is the log from the commit of package python-editdistance for
openSUSE:Factory checked in at 2019-02-26 22:15:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-editdistance (Old)
and /work/SRC/openSUSE:Factory/.python-editdistance.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-editdistance"
Tue Feb 26 22:15:16 2019 rev:3 rq:678034 version:0.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-editdistance/python-editdistance.changes
2017-04-20 20:48:49.130045050 +0200
+++
/work/SRC/openSUSE:Factory/.python-editdistance.new.28833/python-editdistance.changes
2019-02-26 22:15:17.634213494 +0100
@@ -1,0 +2,11 @@
+Thu Feb 14 20:37:13 UTC 2019 - John Vandenberg <[email protected]>
+
+- Activate test suite
+- Add Requires python-base
+- Create subpackage devel
+- Add README.rst which includes the license
+- Update from v0.3.1 (March 2016) to v0.5.2 (Sept 2018)
+ * Improved README
+ * Added basic test suite
+
+-------------------------------------------------------------------
@@ -9 +20 @@
-- initial commit
+- initial commit for v0.3.1
Old:
----
editdistance-0.3.1.tar.gz
New:
----
editdistance-0.5.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-editdistance.spec ++++++
--- /var/tmp/diff_new_pack.cazm9j/_old 2019-02-26 22:15:18.450213207 +0100
+++ /var/tmp/diff_new_pack.cazm9j/_new 2019-02-26 22:15:18.454213206 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-editdistance
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,25 +12,27 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-editdistance
-Version: 0.3.1
+Version: 0.5.2
Release: 0
Summary: An implementation of the edit distance (Levenshtein distance)
License: MIT
Group: Development/Languages/Python
-Url: https://www.github.com/aflc/editdistance
+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 setuptools}
+BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: python-rpm-macros
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Requires: python-base
%python_subpackages
%description
@@ -42,6 +44,14 @@
"Explaining and extending the bit-parallel approximate string
matching algorithm of Myers", (2001).
+%package devel
+Summary: Development files for %{name}
+Group: Development/Languages/Python
+Requires: %{name} = %{version}
+
+%description devel
+This package contains the files needed for binding the %{name} C module.
+
%prep
%setup -q -n editdistance-%{version}
@@ -50,9 +60,22 @@
%install
%python_install
+%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
%files %{python_files}
-%defattr(-,root,root,-)
-%{python_sitearch}/*
+# Lack of separate license noted at
https://github.com/aflc/editdistance/issues/23
+%license README.rst
+%doc README.rst
+%exclude %{python_sitearch}/editdistance/*.h
+%{python_sitearch}/
+
+%files %{python_files devel}
+%{python_sitearch}/editdistance/*.h
%changelog
++++++ editdistance-0.3.1.tar.gz -> editdistance-0.5.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/editdistance-0.3.1/PKG-INFO
new/editdistance-0.5.2/PKG-INFO
--- old/editdistance-0.3.1/PKG-INFO 2016-03-12 13:19:16.000000000 +0100
+++ new/editdistance-0.5.2/PKG-INFO 2019-01-26 23:46:52.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: editdistance
-Version: 0.3.1
+Version: 0.5.2
Summary: Fast implementation of the edit distance(Levenshtein distance)
Home-page: https://www.github.com/aflc/editdistance
Author: Hiroyuki Tanaka
@@ -10,3 +10,5 @@
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/editdistance-0.3.1/README.rst
new/editdistance-0.5.2/README.rst
--- old/editdistance-0.3.1/README.rst 2013-09-13 10:52:24.000000000 +0200
+++ new/editdistance-0.5.2/README.rst 2019-01-26 23:33:07.000000000 +0100
@@ -2,20 +2,27 @@
editdistance
============
-Fast implementation of the edit distance(Levenshtein distance).
+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>`_.
+`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>`_.
-Tested on Python 2.7.5 and 3.3.2.
+-------------
+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::
+You can install via pip:
+
+.. code-block:: bash
pip install editdistance
@@ -24,11 +31,13 @@
Usage
-----
-It's quite simple::
+It's quite simple:
- >>> import editdistance
- >>> editdistance.eval('banana', 'bahama')
- 2L
+.. code-block:: python
+
+ import editdistance
+ editdistance.eval('banana', 'bahama')
+ # 2L
----------------
@@ -37,33 +46,31 @@
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::
-
- In [12]: a = 'fsffvfdsbbdfvvdavavavavavava'
-
- In [13]: b = 'fvdaabavvvvvadvdvavavadfsfsdafvvav'
-
- In [14]: import pylev
-
- In [15]: timeit pylev.levenshtein(a, b)
- 100 loops, best of 3: 7.48 ms per loop
-
- In [16]: from pyxdameraulevenshtein import damerau_levenshtein_distance
-
- In [17]: timeit damerau_levenshtein_distance(a, b)
- 100000 loops, best of 3: 11.4 µs per loop
-
- In [19]: timeit editdistance.eval(a, b) # my library
- 100000 loops, best of 3: 3.5 µs per loop
-
- In [20]: import Levenshtein
-
- In [21]: timeit Levenshtein.distance(a, b)
- 100000 loops, best of 3: 3.21 µs per loop
+* `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
------------------------
@@ -72,21 +79,23 @@
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::
-
- In [22]: 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'])
+I support any iterable, only requires hashable object of it:
- TypeError: distance expected two Strings or two Unicodes
+.. code-block:: python
- In [29]: editdistance.eval(['spam', 'egg'], ['spam', 'ham'])
- Out[29]: 1L
+ 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.
+You can provide ``__hash__`` method to your object instances.
Enjoy!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/editdistance-0.3.1/editdistance.egg-info/PKG-INFO
new/editdistance-0.5.2/editdistance.egg-info/PKG-INFO
--- old/editdistance-0.3.1/editdistance.egg-info/PKG-INFO 2016-03-12
13:19:15.000000000 +0100
+++ new/editdistance-0.5.2/editdistance.egg-info/PKG-INFO 2019-01-26
23:46:52.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: editdistance
-Version: 0.3.1
+Version: 0.5.2
Summary: Fast implementation of the edit distance(Levenshtein distance)
Home-page: https://www.github.com/aflc/editdistance
Author: Hiroyuki Tanaka
@@ -10,3 +10,5 @@
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/editdistance-0.3.1/editdistance.egg-info/SOURCES.txt
new/editdistance-0.5.2/editdistance.egg-info/SOURCES.txt
--- old/editdistance-0.3.1/editdistance.egg-info/SOURCES.txt 2016-03-12
13:19:16.000000000 +0100
+++ new/editdistance-0.5.2/editdistance.egg-info/SOURCES.txt 2019-01-26
23:46:52.000000000 +0100
@@ -8,4 +8,5 @@
editdistance.egg-info/PKG-INFO
editdistance.egg-info/SOURCES.txt
editdistance.egg-info/dependency_links.txt
-editdistance.egg-info/top_level.txt
\ No newline at end of file
+editdistance.egg-info/top_level.txt
+test/test_editdistance.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/editdistance-0.3.1/setup.cfg
new/editdistance-0.5.2/setup.cfg
--- old/editdistance-0.3.1/setup.cfg 2016-03-12 13:19:16.000000000 +0100
+++ new/editdistance-0.5.2/setup.cfg 2019-01-26 23:46:52.000000000 +0100
@@ -1,5 +1,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/editdistance-0.3.1/setup.py
new/editdistance-0.5.2/setup.py
--- old/editdistance-0.3.1/setup.py 2016-03-12 13:17:57.000000000 +0100
+++ new/editdistance-0.5.2/setup.py 2019-01-26 23:33:07.000000000 +0100
@@ -28,7 +28,7 @@
include_dirs=['./editdistance'])]
setup(name="editdistance",
- version='0.3.1',
+ version='0.5.2',
description="Fast implementation of the edit distance(Levenshtein
distance)",
long_description='',
author='Hiroyuki Tanaka',
@@ -40,5 +40,7 @@
classifiers=[
'License :: OSI Approved :: MIT License',
'Programming Language :: Python',
+ 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
]
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/editdistance-0.3.1/test/test_editdistance.py
new/editdistance-0.5.2/test/test_editdistance.py
--- old/editdistance-0.3.1/test/test_editdistance.py 1970-01-01
01:00:00.000000000 +0100
+++ new/editdistance-0.5.2/test/test_editdistance.py 2019-01-26
23:33:07.000000000 +0100
@@ -0,0 +1,10 @@
+import unittest
+
+class TestEditDistance(unittest.TestCase):
+ def test_editdistance(self):
+ import editdistance
+ self.assertEqual(1, editdistance.eval('abc', 'aec'))
+
+
+if __name__ == '__main__':
+ unittest.main()
\ No newline at end of file