Skip to main content

Python extension for computing string edit distances and similarities.

Reason this release was yanked:

Insecure, upgrade to 0.12.1

Project description

Introduction

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 can be copied and/or modified under the terms of GNU General Public License, see the file COPYING for full license text.

History

This package was long missing from PyPi and available as source checkout only. We needed to restore this package for Go Mobile for Plone and Pywurfl projects which depend on this.

Source code

Authors

  • Maintainer: Antti Haapala <antti@haapala.name>

  • Python 3 compatibility: Esa Määttä

  • Jonatas CD: Fixed documentation generation

  • Previous maintainer: Mikko Ohtamaa

  • Original code: David Necas (Yeti) <yeti at physics.muni.cz>

Changelog

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.

Source Distribution

python-Levenshtein-0.11.1.tar.gz (35.3 kB view details)

Uploaded Source

File details

Details for the file python-Levenshtein-0.11.1.tar.gz.

File metadata

File hashes

Hashes for python-Levenshtein-0.11.1.tar.gz
Algorithm Hash digest
SHA256 7c194ae48457951b42e66188d9315ac28ed43d68ecc995fd82c1975ed1fbdd0e
MD5 90a09fdc345a432aaaf799221a0cb300
BLAKE2b-256 2fdd0ebdd3a26a3df1ff035a563a0eba14debc411e817f61fe9b6150e2b528cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page