Skip to content

A pure Python Levenshtein implementation that's not freaking GPL'd.

License

Notifications You must be signed in to change notification settings

toastdriven/pylev

Folders and files

NameName
Last commit message
Last commit date
Jun 8, 2021
May 30, 2021
May 30, 2021
Dec 13, 2012
May 30, 2021
Jun 8, 2021
Jun 29, 2014
May 30, 2021
Dec 3, 2013
Jun 8, 2021
May 30, 2021

Repository files navigation

pylev

A pure Python Levenshtein implementation that's not freaking GPL'd.

Based off the Wikipedia code samples at http://en.wikipedia.org/wiki/Levenshtein_distance.

https://pepy.tech/badge/pylev https://travis-ci.com/toastdriven/pylev.svg?branch=main

Requirements

  • Python 2.7.X, Python 3.3+ or PyPy 1.6.0+

Usage

Usage is fairly straightforward:

import pylev
distance = pylev.levenshtein('kitten', 'sitting')
assert distance == 3

License

New BSD.

Tests

Setup:

$ git clone https://github.com/toastdriven/pylev.git
$ cd pylev

Running:

$ python -m unittest tests

Alternatives

Version History

  • v1.5.0

    • Added an alternatives section. Thanks to @graingert for the start!
  • v1.4.0

    • Updated for current versions of Python
    • Integrated a better Travis matrix. Thanks to @graingert!
    • Fixed mistaken docs about the assert. Thanks to @adamchainz!
    • Reorganized the package.
    • Blacked all the source code.
  • v1.3.0

    • Implemented a considerably faster variants (orders of magnitude).
    • Tested & working on Python 2.7.4, Python 3.3.1 & PyPy 1.9.0.
  • v1.2.0

    • Fixed all incorrect spellings of "Levenshtein" (there's no "c" in it).
    • Old methods are aliased for backward-compatibility.
  • v1.1.0

    • Implemented a much faster variant (several orders of magnitude).
    • The older variant was renamed to classic_levenschtein.
    • Tested & working on Python 3.3 & PyPy 1.6.0 as well.
  • v1.0.2

    • Python packaging is REALLY hard. Including the README this time.
  • v1.0.1

    • Python packaging is hard. Including the README this time.
  • v1.0.0

    • Initial release, just the naive implementation of Levenshtein.

About

A pure Python Levenshtein implementation that's not freaking GPL'd.

Resources

License

Stars

Watchers

Forks

Packages

No packages published