Skip to main content

Python extension for computing string edit distances and similarities.

Project description

Introduction

This is a fork of python-Levenshtein which also distributes binary wheels for a lot of operating systems and architectures:

  • Windows (amd64 and x86)
  • OSX (10.6+)
  • Linux (x86_64 and i686)

The wheels can be installed with the python-Levenshtein-wheels package on PyPI.

The Levenshtein Python C extension module contains functions for fast computation of

  • Levenshtein (edit) distance, and edit operations
  • string similarity
  • approximate median strings, and generally string averaging
  • string sequence and set similarity

It supports both normal and Unicode strings.

Python 2.2 or newer is required; Python 3 is supported.

StringMatcher.py is an example SequenceMatcher-like class built on the top of Levenshtein. It misses some SequenceMatcher’s functionality, and has some extra OTOH.

Levenshtein.c can be used as a pure C library, too. You only have to define NO_PYTHON preprocessor symbol (-DNO_PYTHON) when compiling it. The functionality is similar to that of the Python extension. No separate docs are provided yet, RTFS. But they are not interchangeable:

  • C functions exported when compiling with -DNO_PYTHON (see Levenshtein.h) are not exported when compiling as a Python extension (and vice versa)
  • Unicode character type used with -DNO_PYTHON is wchar_t, Python extension uses Py_UNICODE, they may be the same but don’t count on it

Documentation

gendoc.sh generates HTML API documentation, you probably want a selfcontained instead of includable version, so run in ./gendoc.sh --selfcontained. It needs Levenshtein already installed and genextdoc.py.

License

Levenshtein is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

See the file COPYING for the full text of GNU General Public License version 2.

History

This package was long missing from the Python Package Index and available as source checkout only, but can now be found on PyPI again.

We needed to restore this package for Go Mobile for Plone and Pywurfl projects which depend on this.

Authors

  • Maintainer: Toby Harradine <me@tobyharradine.id.au>
  • Python 3 compatibility: Esa Määttä
  • Jonatas CD: Fixed documentation generation
  • Previous maintainers: Antti Haapala <antti@haapala.name>, Mikko Ohtamaa
  • Original code: David Necas (Yeti) <yeti at physics.muni.cz>

0.13.0

  • Distributed with wheels.

0.12.0

  • Fixed a bug in StringMatcher.StringMatcher.get_matching_blocks / extract_editops for Python 3; now allow only str editops on both Python 2 and Python 3, for simpler and working code.
  • Added documentation in the source distribution and in GIT
  • Fixed the package layout: renamed the .so/.dll to _levenshtein, and made it reside inside a package, along with the StringMatcher class.
  • Fixed spelling errors.

0.11.2

  • Fixed a bug in setup.py: installation would fail on Python 3 if the locale did not specify UTF-8 charset (Felix Yan).
  • Added COPYING, StringMatcher.py, gendoc.sh and NEWS in MANIFEST.in, as they were missing from source distributions.

0.11.1

  • Added Levenshtein.h to MANIFEST.in

0.11.0

  • Python 3 support, maintainership passed to Antti Haapala

0.10.1 - 0.10.2

  • Made python-Lehvenstein Git compatible and use setuptools for PyPi upload
  • Created HISTORY.txt and made README reST compatible

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for python-Levenshtein-wheels, version 0.13.1
Filename, size File type Python version Upload date Hashes
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27m-macosx_10_6_intel.whl (78.7 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27m-manylinux1_i686.whl (103.7 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27m-manylinux1_x86_64.whl (114.4 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27m-manylinux2010_i686.whl (108.7 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27m-manylinux2010_x86_64.whl (133.7 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27mu-linux_armv7l.whl (99.4 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27mu-manylinux1_i686.whl (103.4 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27mu-manylinux1_x86_64.whl (114.2 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27mu-manylinux2010_i686.whl (108.6 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27mu-manylinux2010_x86_64.whl (133.5 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27m-win32.whl (39.6 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp27-cp27m-win_amd64.whl (44.1 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp34-cp34m-linux_armv7l.whl (109.1 kB) File type Wheel Python version cp34 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp34-cp34m-macosx_10_6_intel.whl (80.3 kB) File type Wheel Python version cp34 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp34-cp34m-manylinux1_i686.whl (107.1 kB) File type Wheel Python version cp34 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp34-cp34m-manylinux1_x86_64.whl (117.3 kB) File type Wheel Python version cp34 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp34-cp34m-win32.whl (39.9 kB) File type Wheel Python version cp34 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp34-cp34m-win_amd64.whl (45.2 kB) File type Wheel Python version cp34 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp35-cp35m-linux_armv7l.whl (102.4 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp35-cp35m-macosx_10_6_intel.whl (80.3 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp35-cp35m-manylinux1_i686.whl (107.3 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp35-cp35m-manylinux1_x86_64.whl (117.5 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp35-cp35m-manylinux2010_i686.whl (113.1 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp35-cp35m-manylinux2010_x86_64.whl (137.4 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp35-cp35m-win32.whl (42.2 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp35-cp35m-win_amd64.whl (48.0 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp36-cp36m-linux_armv7l.whl (109.7 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp36-cp36m-macosx_10_6_intel.whl (80.3 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp36-cp36m-manylinux1_i686.whl (107.3 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp36-cp36m-manylinux1_x86_64.whl (117.5 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp36-cp36m-manylinux2010_i686.whl (113.4 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp36-cp36m-manylinux2010_x86_64.whl (137.6 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp36-cp36m-win32.whl (42.2 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp36-cp36m-win_amd64.whl (48.0 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp37-cp37m-linux_armv7l.whl (110.4 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp37-cp37m-macosx_10_6_intel.whl (80.3 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp37-cp37m-manylinux1_i686.whl (107.3 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp37-cp37m-manylinux1_x86_64.whl (117.5 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp37-cp37m-manylinux2010_i686.whl (114.3 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp37-cp37m-manylinux2010_x86_64.whl (138.5 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp37-cp37m-win32.whl (42.2 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp37-cp37m-win_amd64.whl (48.0 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp38-cp38-macosx_10_9_x86_64.whl (45.3 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp38-cp38-manylinux1_i686.whl (115.5 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp38-cp38-manylinux1_x86_64.whl (139.6 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp38-cp38-manylinux2010_i686.whl (115.5 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp38-cp38-manylinux2010_x86_64.whl (139.6 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp38-cp38-win32.whl (43.1 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size python_Levenshtein_wheels-0.13.1-cp38-cp38-win_amd64.whl (48.5 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size python-Levenshtein-wheels-0.13.1.tar.gz (36.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page