Minimalistic typing exercise
Project description
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 fasttyper
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 | python3 -m fasttyper
or if you want to randomize words from given file with shuf on for example all disctionaries in system:
shuf -n5 /usr/share/dict/* | 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 | python3 -m fasttyper
To exit you can either finish test, use KeyboardInterrupt
(CTRL+C) or tap tab then enter. After you finish test, there will be summary printed, use enter to exit from it.
Example scripts
function ff() {
mkdir -p ~/.cache/fasttyper
local amount="${1:-50}"
local language="${2:-english}"
local sfile=~/.cache/fasttyper/$language
local source_path=https://raw.githubusercontent.com/Miodec/monkeytype/master/static/languages/$language.json
[[ ! -f $sfile ]] && curl -s $source_path | python3 -c "import sys, json; print('\n'.join(json.load(sys.stdin)['words']))" > $sfile
while true
do
shuf -n $amount $sfile | python3 -m fasttyper || break
done
}
ff 50 english_1k
This shell function shuffles N words from cached word list, and if given word list doesnt exist it download's it. It runs in loop, but does exit from it if you exit fasttyper with CTRL+C.
The above script is avalible for download from doc folder.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fasttyper-1.4.0.tar.gz
.
File metadata
- Download URL: fasttyper-1.4.0.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.8.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 499380a66a649d8c73391ad26b2fb9d574a0ee77d80fcb73d1fb343a1afb479e |
|
MD5 | 225659800a623aa305037aa60d954ecf |
|
BLAKE2b-256 | 0289d6f31f3c5255ab7418dc2d72065a037d6dc5cf46c329ac93d183f2b78e4e |
File details
Details for the file fasttyper-1.4.0-py2.py3-none-any.whl
.
File metadata
- Download URL: fasttyper-1.4.0-py2.py3-none-any.whl
- Upload date:
- Size: 21.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.8.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c4755cd3be0e1edcc4f46901b20a7ecdb1b07101fb06cc263eac8d423c2e08c |
|
MD5 | be02b26e8cf48c479ffb1fd78b333df6 |
|
BLAKE2b-256 | 826f4d8e4e09fb374c12572df3959451e4608ae689e62f7d58366e16019c8a1c |