Simple TUI for typing tests
Find a file
2021-07-11 20:26:42 +02:00
.github/ISSUE_TEMPLATE Update issue templates 2021-07-11 20:26:42 +02:00
doc README update 2021-07-11 12:57:03 +02:00
fasttyper forgot this important if 2021-07-11 20:18:32 +02:00
.gitignore Initial commit 2021-07-10 16:42:22 +02:00
LICENSE Initial commit 2021-07-10 16:42:22 +02:00
README.md resizable, doesnt break when you provide too much text, implemented text wrapping 2021-07-11 20:03:53 +02:00
setup.py forgot this important if 2021-07-11 20:18:32 +02:00

fasttyper

About

Fasttyper is minimalistic typing test based on user provided exercising text. It supports both reading from text files and stdin supporting wide range of usecases. The goal was to create it as simple as it can be, without any additional bloatware functionalities. That means that Fasttyper doesn't come with build in test generator and you have to provide your own scripts generating tests. Some examples of such scrips are providen in Usage section.

Installation

Fasttyper is currently maintained on TestPyPi Python Package Index. To install package simpply use:

python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps fasttyper-pkg-ickyicky

Usage

Fasttyper is ran as an python module, so to execute it simply type:

python3 -m fasttyper

from cloned github repository, if you didn't install package from TestPyPi.

Fasttyper can open text files, which path should be provided as first and only argument to the module execution, for example:

python3 -m fasttyper example_text.txt

Program also allows user to pipe text into it. Keep in mind, it only supports spaces and new line characters, so you won't be able to table tabs. For example, you can run Fasttyper on fortune generated quote changing tabulators to spaces with sed:

furtune | sed 's/\t/ /g' | python3 -m fasttyper

or if you want to randomize words from given file with shuf, and then keep them in the same line, replacing new lines with spaces using awk, on for example all disctionaries in system:

shuf -n5 /usr/share/dict/* | awk 1 ORS=' ' | python -m fasttyper

You can use another similar projects set of words as well, for example to create test with 20 random words from Monkeytype's english 100 dictionary use:

curl -s https://raw.githubusercontent.com/Miodec/monkeytype/master/static/languages/english.json | python3 -c "import sys, json; print('\n'.join(json.load(sys.stdin)['words']))" | shuf -n20 | awk 1 ORS=' ' | python3 -m fasttyper

To exit program simply complete test or press CTRL+C.