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
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| typetest-0.1.9.tar.gz | 18.8 kB | Without provenance | Details for typetest-0.1.9.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| typetest-0.1.9-py3-none-any.whl | Python 3 | none | any | Details for typetest-0.1.9-py3-none-any.whl |
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
|
Security for typetest 0.1.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.