Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Levenshtein edit distance library

Project Description

Levenshtein edit distance library for Python, Apache-licensed. Written by Lars Buitinck, Netherlands eScience Center, with contributions from Isaac Sijaranamual, University of Amsterdam.

Performs distance computations on either byte strings or Unicode codepoints.


Make sure you have Cython and a C++ compiler installed:

pip install cython

Installing a C++ compiler is so platform-dependent that I won’t show instructions. Consult your package manager.


python install

To run the tests, but not to actually use leven, you need six and Nose.


>>> from leven import levenshtein
>>> levenshtein("hello, world!", "goodbye, cruel world!")

About the implementation

The core algorithms have been implemented in C++. I used this instead of C to get templates, easier memory management and a better standard library, so the C++ code probably looks C-ish.


  • Implement Ukkonen’s algorithm for bounded Levenshtein distance
  • Implement Levenshtein automata for fast neighbor search in string spaces
  • Implement weighted Levenshtein distance

Release History

This version
History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(20.2 kB) Copy SHA256 Hash SHA256
Source None Nov 22, 2013

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers