Test your typing speed without leaving the terminal.
📋 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.
⚡ features
- adjustable settings
- storing test results
- analysing mistakes
- easy to track improvement
📈 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-analyseto get insights
💡 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.
❓ 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
Release files for typetest 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| typetest-0.1.9.tar.gz | 18.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| typetest-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.0 kB
Release files / typetest-0.1.9.tar.gz
| Download URL | typetest-0.1.9.tar.gz |
|---|---|
| Size | 18.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a884a6a37e6cf94850a09753814f2a0db488e826d89c12f859f371d99de447e
|
|
BLAKE2b-256 checksum How to use checksums |
03fa9cdad678851bc2231dc9e75dbe15fc90c2d356e36553ed3042d377599f8d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.11 CPython/3.9.7 Darwin/20.6.0
|
Release files / typetest-0.1.9-py3-none-any.whl
| Download URL | typetest-0.1.9-py3-none-any.whl |
|---|---|
| Size | 23.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2a90805d4f3275194a9a7595888fbcaa542f9b0ce4dda95705e7067f6bed5036
|
|
BLAKE2b-256 checksum How to use checksums |
50e0021c601b93225d6af6db146fa16243c75bd47944f849ff0e48de9efaeb32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.11 CPython/3.9.7 Darwin/20.6.0
|