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 with typetest-analyse
!
:shipit: installation
- install python3
- install pip (python package manager)
- run
pip install typetest
- run
typetest
Optionally
- make an alias for
typetest
, I usett
- run
typetest-analyse
to get insights
: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] [--hash HASH] [-i INPUT] [-o OUTPUT_DIRECTORY] [-s] [-r ROWS]
optional arguments:
-h, --help show this help message and exit
-d DURATION, --duration DURATION
duration in seconds (default: inf)
--hash HASH custom hash (generated from input by default)
-i INPUT, --input INPUT
file to read words from (default: sys.stdin)
-o OUTPUT_DIRECTORY, --output-directory OUTPUT_DIRECTORY
file to store results in
(default: /home/medo/repos/typetest/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
^[ / ctrl+[ / esc end the test and get results now
^h / ctrl+h / bksp delete a character
^r / ctrl+r / tab restart the same test
^s / ctrl+s restart the test with words reshuffled
^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.
Source Distribution
Built Distribution
File details
Details for the file typetest-0.1.9.tar.gz
.
File metadata
- Download URL: typetest-0.1.9.tar.gz
- Upload date:
- Size: 18.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.11 CPython/3.9.7 Darwin/20.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a884a6a37e6cf94850a09753814f2a0db488e826d89c12f859f371d99de447e |
|
MD5 | 968ccb1bd8e8004cde1c1c71e9a57285 |
|
BLAKE2b-256 | 03fa9cdad678851bc2231dc9e75dbe15fc90c2d356e36553ed3042d377599f8d |
File details
Details for the file typetest-0.1.9-py3-none-any.whl
.
File metadata
- Download URL: typetest-0.1.9-py3-none-any.whl
- Upload date:
- Size: 23.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.11 CPython/3.9.7 Darwin/20.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a90805d4f3275194a9a7595888fbcaa542f9b0ce4dda95705e7067f6bed5036 |
|
MD5 | a562bc2b1309708c3d15a94dd2713665 |
|
BLAKE2b-256 | 50e0021c601b93225d6af6db146fa16243c75bd47944f849ff0e48de9efaeb32 |