Skip to main content

⌨️ typing-cli

A beautiful and fast CLI typing test — right from your terminal.

Practice your typing speed with real-time WPM tracking, accuracy stats, animated pixel-art F1 car, multiple languages, and color themes.

PyPI version Python 3.10+ License: MIT

  __               _                        ___ 
 / /___  ______  (_)___  ____ _        ____/ (_)
/ __/ / / / __ \/ / __ \/ __ `/  ____ / __/ / / 
/ /_/ /_/ / /_/ / / / / / /_/ /  /___// /_/ / /  
\__/\__, / .___/_/_/ /_/\__, /        \__/_/_/   
   /____/_/            /____/                     

🚀 Installation

pip install typing-cli

Then launch with:

python -m typingtest

On first launch the app automatically adds typing-cli to your PATH.
Restart your terminal and from then on just type:

typing-cli

From source

git clone https://github.com/lecoffre/typing-cli.git
cd typing-cli
pip install -e .

▶️ Usage

typing-cli

If the command is not found, you can always run:

python -m typingtest

The app launches in your terminal. Start typing!

🔄 Update

The app checks for updates automatically on launch.
If a new version is available, press Ctrl+U on the splash screen to update instantly.

You can also update manually:

pip install --user --upgrade typing-cli

🗑️ Uninstall

pip uninstall typing-cli -y

⌨️ Keyboard Shortcuts

Shortcut Action
Tab Restart test
Escape Back / Quit
Ctrl+T Change theme
Ctrl+L Change language
Ctrl+M Switch mode (words/code)
Ctrl+H View score history
Ctrl+U Update to latest version
Ctrl++/- Zoom in/out
Ctrl+Q Quit

🌍 Languages

Built-in:

  • 🇬🇧 English (200 most common words)
  • 🇫🇷 French (200 most common words)

🎨 Themes

  • Midnight — deep dark blues (default)
  • Forest — earthy greens
  • Sunset — warm amber tones
  • Ocean — cool cyan palette
  • Mono — minimal grayscale

📊 Features

  • Real-time WPM & accuracy tracking
  • Per-character coloring (correct / incorrect / cursor)
  • Animated pixel-art F1 car reflecting your speed
  • Gamification: streak, combo, milestones, rank system
  • Code typing mode
  • Score history with date, WPM, accuracy
  • Multiple languages & themes
  • Splash screen with ASCII art
  • Auto-update: notifies and updates from the CLI
  • Clean, extensible architecture

🛠️ Development

git clone https://github.com/lecoffre/typing-cli.git
cd typing-cli
pip install -e .

# Run directly
python -m typingtest

🤝 Contributing

Contributions are welcome! Feel free to open issues and pull requests.

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit (git commit -m 'Add amazing feature')
  4. Push (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

MIT

Metadata

Release files for typing-cli 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for typing-cli 0.3.3
File Size Uploaded
typing_cli-0.3.3.tar.gz 29.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for typing-cli 0.3.3
File Interpreter ABI Platform
typing_cli-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 65.9 kB

Release files / typing_cli-0.3.3.tar.gz

Download URL typing_cli-0.3.3.tar.gz
Size 29.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e3da9542bf482e8120b4dff64e853f5fcbca6a604ecf90f2231124f0809ba021
BLAKE2b-256 checksum
How to use checksums
364f607e195432d69d30fb3a0b4f93d7c9b3d149c15fc0d27896daf9aeb652cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 10, 2026.

Transparency log

Release files / typing_cli-0.3.3-py3-none-any.whl

Download URL typing_cli-0.3.3-py3-none-any.whl
Size 36.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
82410e2e5584d69e75045b7f15aed6afa48e6837eb6956df01200c1e4918da0b
BLAKE2b-256 checksum
How to use checksums
f723102273aed5d019de1baff35047ea100c525e97fe44f8b5db6ec8373a515d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

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