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.

Filename, size & hash SHA256 hash help File type Python version Upload date
word2keypress-1.0.16.tar.gz (192.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page