Skip to main content

Terminal-based adaptive typing practice with progressive key learning

Project description

TypeFast

PyPI version Python 3.6+ License: MIT

Terminal-based adaptive typing practice with progressive key learning and intelligent difficulty adjustment.

โœจ Features

  • ๐ŸŽฏ Adaptive Learning - Progressively unlocks keys as you master them
  • ๐Ÿ“Š Real-time Analytics - Track WPM, accuracy, and performance trends
  • ๐Ÿ”„ Intelligent Targeting - Focuses practice on your weakest keys
  • ๐Ÿ“ˆ Progress Visualization - Beautiful ASCII charts showing improvement over time
  • โŒจ๏ธ Keybr-Style Error Handling - Must type correct key to advance, wrong keys highlighted in red
  • ๐ŸŽจ Clean Terminal UI - Minimal, distraction-free interface
  • ๐Ÿ’พ Persistent Stats - Your progress is saved between sessions
  • ๐Ÿ† Performance Tracking - View top speed, consistency scores, and detailed per-key analysis

๐Ÿš€ Quick Start

Installation

pip install typefast

Run

typefast

That's it! Start typing and improve your skills.

๐Ÿ“– How It Works

TypeFast uses an adaptive learning system that:

  1. Starts Simple - Begin with just the home row keys (a, s, d, f, j, k, l)
  2. Tracks Performance - Monitors your speed and accuracy for each key
  3. Unlocks Progressively - Adds new keys when you've mastered current ones
  4. Targets Weaknesses - Generates exercises focusing on your difficult keys
  5. Shows Progress - Visualizes your improvement over time with charts and statistics

๐ŸŽฎ Usage

Basic Controls

  • Type - Just start typing the displayed text
  • Backspace - Skip current exercise and start a new one
  • Cmd+/Cmd- - Increase/decrease font size
  • Ctrl+C - Quit and save progress
  • Resize Terminal - Drag terminal bigger to see extended statistics

Understanding the Interface

TypeFast - Adaptive Typing Practice
WPM: 87 | Accuracy: 92% | Keys: 325 | Errors: 12

some hand fast first fast them play go first fast

Last 5: 118wpm | 93wpm | 81wpm | 89wpm | 94wpm
Avg: 88wpm | Top: 120wpm | Consistency: 83%

Key Difficulty (practice needed):
't': โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘ 39.5 (acc: 86.5%)
'y': โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 33.6 (acc: 88.9%)
...

Per-Key Speed Analysis:
Fastest: u:117wpm | e:108wpm | n:101wpm
Slowest: g:65wpm | y:62wpm | t:59wpm

WPM Progress - All Time (325 rounds):
[Beautiful ASCII line chart showing your progress]

Color Coding

  • ๐ŸŸข Green - Correctly typed characters
  • ๐Ÿ”ด Red - Characters where you made mistakes
  • White/Highlighted - Current character to type
  • Gray - Not yet typed

๐Ÿ“Š Statistics Explained

Main Stats

  • WPM - Words per minute (5 characters = 1 word)
  • Accuracy - Percentage of keystrokes without errors
  • Top Speed - Your personal best WPM
  • Consistency - How stable your performance is (lower variance = higher score)

Advanced Stats (Tall Terminal)

  • Per-Key Speed - Individual WPM for each key
  • Session Stats - Current session accuracy and key count
  • Progress Chart - All-time WPM trend across all sessions

๐ŸŽฏ Tips for Improvement

  1. Don't Look at Keyboard - Force yourself to use touch typing
  2. Accuracy First - Speed comes naturally with accuracy
  3. Practice Weak Keys - TypeFast automatically targets these
  4. Regular Sessions - 10-15 minutes daily beats marathon sessions
  5. Proper Posture - Sit correctly and position hands on home row
  6. Use All Fingers - Don't hunt-and-peck with index fingers

๐Ÿ› ๏ธ Advanced Usage

File Locations

TypeFast stores data in your home directory:

~/.typefast_stats.json       # Key statistics and progress
~/.typefast_history.json     # Historical WPM data

Reset Progress

To start fresh:

rm ~/.typefast_stats.json ~/.typefast_history.json

Customize Terminal

For best experience:

  • Font Size: Use Cmd+/- to adjust
  • Window Size: Drag larger to see more stats
  • Color Scheme: Use a dark terminal theme

๐Ÿค Contributing

Contributions welcome! Feel free to:

  • Report bugs
  • Suggest features
  • Submit pull requests
  • Improve documentation

๐Ÿ“ License

MIT License - see LICENSE for details

๐Ÿ™ Acknowledgments

Inspired by keybr.com and other typing practice tools.

๐Ÿ“ง Contact

๐ŸŒŸ Star History

If you find TypeFast useful, please consider giving it a star on GitHub!


Happy Typing! ๐ŸŽน

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

typefast-1.0.1.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

typefast-1.0.1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file typefast-1.0.1.tar.gz.

File metadata

  • Download URL: typefast-1.0.1.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for typefast-1.0.1.tar.gz
Algorithm Hash digest
SHA256 5a5a81c7340f7e91343b94d25cdff7b6051226458f936582531963c7fe931545
MD5 c66c7992619663987de9120cf9f23648
BLAKE2b-256 f24bbd55109e1eba989718a99474bf4b666055a636aa1f998579ec53335e3aaf

See more details on using hashes here.

File details

Details for the file typefast-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: typefast-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for typefast-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 db9926ecdeb5a6c564742e74843015960bd5aa8eb07f3e6f40293ba632efc74d
MD5 61e55c0cf3347f979f6e1bd003b27f80
BLAKE2b-256 a50e8685bcbda86cb6bae1ac55ac75f54b27e98326b7883d7998dc974e6bb9d4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page