word2keypress

Convert word to keypress sequence


License
MIT
Install
pip install word2keypress==1.0.16

Documentation

Convert word to keypress-sequence

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() # 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.