Terminal Typing Test Application
Project description
Terminal Typing Test
A terminal-based typing speed test application inspired by monkeytype.com, built with Python using Textual and Rich.
Features
- Multiple Test Modes: Words (10, 25, 50, 100) and Time (15s, 30s, 60s, 120s)
- Real-time Statistics: Live WPM, accuracy, and consistency tracking
- Performance Graphs: ASCII-based WPM over time visualization
- Personal Bests: Track your best performances by mode
- Test History: View and analyze past test results
- Difficulty Levels: Normal, Expert (100% word accuracy), Master (100% character accuracy)
- Fully Offline: Works without internet connection
- Cross-Platform: Windows and Linux compatible
Installation
From Source
# Clone the repository
cd c:\Users\Mihir Katoch\OneDrive\Desktop\TuxType
# Install dependencies
pip install -r requirements.txt
# Run the application
python tuxtype.py
Usage
Starting the Application
# Start with default settings (50 words)
python tuxtype.py
# Quick start with specific mode
python tuxtype.py --mode words --count 100
# Time-based test
python tuxtype.py --mode time --time 60
# With punctuation
python tuxtype.py --punctuation
# Programming keywords
python tuxtype.py --language programming
Command Line Options
| Option | Short | Description |
|---|---|---|
--mode |
-m |
Test mode: words or time |
--count |
-c |
Word count (10, 25, 50, 100) |
--time |
-t |
Time limit in seconds |
--language |
-l |
Language: english or programming |
--difficulty |
-d |
Difficulty: normal, expert, master |
--punctuation |
-p |
Include punctuation |
--numbers |
-n |
Include numbers |
Keyboard Shortcuts
| Key | Action |
|---|---|
Tab |
Restart test |
Esc |
Return to menu |
Ctrl+C |
Quit application |
1-7 |
Menu navigation |
Statistics
- WPM: Words per minute (correct characters / 5 / minutes)
- Raw WPM: Total characters / 5 / minutes (includes errors)
- Accuracy: Percentage of correct characters
- Consistency: Based on speed variation between words
Project Structure
TuxType/
├── tuxtype.py # Main entry point
├── src/
│ ├── main.py # CLI setup
│ ├── app.py # Main Textual app
│ ├── core/ # Core logic
│ ├── database/ # SQLite operations
│ ├── screens/ # UI screens
│ ├── widgets/ # Custom widgets
│ └── utils/ # Utilities
├── data/
│ ├── wordlists/ # Word lists
│ ├── quotes/ # Quote files
│ └── database.db # SQLite database
├── requirements.txt
└── README.md
License
MIT License
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
tuxtype-1.0.0.tar.gz
(72.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
tuxtype-1.0.0-py3-none-any.whl
(59.0 kB
view details)
File details
Details for the file tuxtype-1.0.0.tar.gz.
File metadata
- Download URL: tuxtype-1.0.0.tar.gz
- Upload date:
- Size: 72.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ed54af4fc719445cce4f52e846b7a08864e4084f5f25afcbb51ebebeaa16d0b
|
|
| MD5 |
d69b8503431e3acfad1f9d7243db246d
|
|
| BLAKE2b-256 |
e0f53f37df9ce7cd588691e0d8bb7252ca883cf31465866f8e633ad9e69162fc
|
File details
Details for the file tuxtype-1.0.0-py3-none-any.whl.
File metadata
- Download URL: tuxtype-1.0.0-py3-none-any.whl
- Upload date:
- Size: 59.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
203ba19e6e254b7316fa75e4a97d627e14de92a580113901aadfc876c217ebf9
|
|
| MD5 |
35ed814eedac1f0fe666ec6a80f79689
|
|
| BLAKE2b-256 |
985f0dad7836c84ba1e5a12e9964e85f07278df923dbd2ac1dee3009ce2a12db
|