Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fasttyper-1.4.0.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

fasttyper-1.4.0-py2.py3-none-any.whl (21.9 kB view details)

Uploaded Python 2 Python 3

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

Hashes for fasttyper-1.4.0.tar.gz
Algorithm Hash digest
SHA256 499380a66a649d8c73391ad26b2fb9d574a0ee77d80fcb73d1fb343a1afb479e
MD5 225659800a623aa305037aa60d954ecf
BLAKE2b-256 0289d6f31f3c5255ab7418dc2d72065a037d6dc5cf46c329ac93d183f2b78e4e

See more details on using hashes here.

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

Hashes for fasttyper-1.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5c4755cd3be0e1edcc4f46901b20a7ecdb1b07101fb06cc263eac8d423c2e08c
MD5 be02b26e8cf48c479ffb1fd78b333df6
BLAKE2b-256 826f4d8e4e09fb374c12572df3959451e4608ae689e62f7d58366e16019c8a1c

See more details on using hashes here.

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