Skip to main content

Convert word to keypress sequence

Project description

# Convert word to keypress-sequence
[![Build Status](https://travis-ci.org/rchatterjee/word2keypress.svg?branch=master)](https://travis-ci.org/rchatterjee/word2keypress)

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.11.tar.gz (192.1 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