Skip to main content

Test your typing speed without leaving the terminal.

build license build maintainer

demo

📋 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

  1. adjustable settings
  2. storing test results
  3. analysing mistakes
  4. easy to track improvement

📈 analyse test results with typetest-analyse!

wpm char_speeds word_speeds mistypes dist

:shipit: installation

  1. install python3
  2. install pip (python package manager)
  3. run pip install typetest
  4. run typetest

Optionally

  • make an alias for typetest, I use tt
  • run typetest-analyse to 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

Back to top

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)

Source distribution for typetest 0.1.9
File Size Uploaded
typetest-0.1.9.tar.gz 18.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for typetest 0.1.9
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.9 This release

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page