Command line tool for improving typing speed and accuracy. The main goal is to help programmers practise programming languages.
pip install --upgrade mltype
- Using neural networks to generate text. One can use pretrained networks (see below) or train new ones from scratch.
- Alternatively, one can read text from a file or provide it manually
- Dead simple (implemented in
curses
) - Basic statistics - WPM and accuracy
- Setting target speed
- Playing against past performances
- Detailed documentation: https://mltype.readthedocs.io/en/latest/index.html.
- GIF examples: https://mltype.readthedocs.io/en/latest/source/examples.html.
The entrypoint is mlt
$ mlt
Usage: mlt [OPTIONS] COMMAND [ARGS]...
Tool for improving typing speed and accuracy
Options:
--help Show this message and exit.
Commands:
file Type text from a file
ls List all language models
random Sample characters randomly from a vocabulary
raw Provide text manually
replay Compete against a past performance
sample Sample text from a language
train Train a language
See below a list of pretrained models. They are stored on a google drive and one needs to download the entire archive.
Name | Info | Link |
---|---|---|
C | Trained on https://github.com/TheAlgorithms/C-Plus-Plus | link |
CPython | Trained on https://github.com/python/cpython/tree/master/Python | link |
Crime and Punishment | Trained on http://www.gutenberg.org/ebooks/2554 | link |
Dracula | Trained on http://www.gutenberg.org/ebooks/345 | link |
JavaScript | Trained on https://github.com/trekhleb/javascript-algorithms | link |
Python | Trained on https://github.com/TheAlgorithms/Python | link |
Scikit-learn | Trained on https://github.com/scikit-learn/scikit-learn | link |
Once you download the file, you will need to place it in ~/.mltype/languages
.
Note that if the folder does not exist you will have to create it. The file name
can be changed to whatevery you like. This name will then be used to
refer to the model.
To verify that the model was downloaded succesfully, try to sample from it. Note that this might take 20 seconds the first time around.
mlt sample my_new_model
This project is very much motivated by the The Unreasonable Effectiveness of Recurrent Neural Networks by Andrej Karpathy.