Test your typing speed without leaving the terminal.
Project description
Test your typing speed without leaving the terminal.
:clipboard: description
typetest
is a self-contained minimal typing test program written with blessed.
As is, it is a near clone of 10fastfingers with an added bonus of being able to see typing speed as you're typing.
:zap: features
- adjustable settings
- storing test results
- analysing mistakes
- easy to track improvement
:chart_with_upwards_trend: analyse test results
:shipit: installation
- install python 3
- install blessed
- clone this repository
- run
python typetest -s -d 60 < common_300
- (optional) add
typetest
to path or make an alias likett
- (optional) store your results in some file and analyse
:bulb: ideas for tests
Along with typetest
this repository features sample tests.
Try them like so: typetest -s -d 60 -i common_200
or scrape something off the internet, like a featured article on wikipedia.
#!/usr/bin/env python3
import re
import requests
from bs4 import BeautifulSoup
word_pattern = re.compile(r"['A-Za-z\d\-]+[,\.\?\!]?") # symbols to keep
url = 'https://en.wikipedia.org/wiki/Special:RandomInCategory/Featured_articles'
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
for sup in soup.select('sup'):
sup.extract() # remove citations
text = ' '.join(p.text for p in soup.select('p'))
text = re.sub(r'\[.*?\]|\(.*?\)', '', text) # remove parenthesis
print(' '.join(re.findall(word_pattern, text)))
If you create a file called wiki_random
you can start the test with wiki_random | typetest
.
Write your own scraper, you may find some suggestions here.
:question: usage
usage: typetest [-h] [-d DURATION] [-i INPUT] [-o OUTPUT] [-s] [-r ROWS]
optional arguments:
-h, --help show this help message and exit
-d DURATION, --duration DURATION
duration in seconds (default: inf)
-i INPUT, --input INPUT
file to read words from (default: sys.stdin)
-o OUTPUT, --output OUTPUT
file to store results in
(default: /home/medo/repos/typetest/results)
-s, --shuffle shuffle words (default: False)
-r ROWS, --rows ROWS number of test rows to show (default: 2)
example:
typetest -i test.txt -s -d 60
echo 'The typing seems really strong today.' | typetest -d 3.5
typetest < test.txt
shortcuts:
^c / ctrl+c end the test and get results now
^h / ctrl+h backspace
^r / ctrl+r restart the same test
^w / ctrl+w delete a word
^u / ctrl+u delete a word
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.