Skip to main content

Convert word to keypress sequence

Project description

Build Status

I made this as a submodule for my project on correcting password typos. I found this very cool, and might be useful in many scenarios where one has to find vairations of word due to mistyping.

Here we define typo as purely mistyping a key, and not due to ignorance. Hence, finding possible typos of a word require converting the word into sequence of key presses. This module provides those functionality to convert word into and from sequence of key presses. Also, given a word find the possible typo of that word tuned to the typos due to mistyping.

Dependency

Right now it needs cython. I will remove it in future. * Cython.

Install

$ pip install word2keypress

# or

$ python setup.py install

How to Use?

Refer to the HowToRun.ipynb file.

from word2keypress import distance, Keyboard
kb = Keyboard(u'US') # making unicode is mandatory (weird Cython)
kseq = kb.word_to_keyseq('Password')
print "\nRaw sequence:", repr(kseq)

print "\nReadable sequence:", repr(kb.print_keyseq(kseq))

print "\nkeyseq->word:", kb.keyseq_to_word(kseq)

print "\ndistance:", distance('Password1', 'PASSWORD1')

How to test/develop ?

(For myself, as I keep forgetting how to deal with cython. Stupid Idea) Don’t forget to regenerate the src/word2keypress/_keyboard.c file in Option 1.

$ python setup.py pytest      # Option 1
$ tox                         # Option 2
$ python -m pytest tests/     # Option 3

In any case have to regenerate the _keyboard.c to test with the new code.

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

word2keypress-1.0.16.tar.gz (192.5 kB view hashes)

Uploaded Source

Supported by

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