A minimal terminal typing test — English & Korean, monkeytype-inspired
Project description
ttyping ⌨️
A minimal, monkeytype-inspired terminal typing test for English and Korean, built with Python and Textual.
ttyping provides a clean and focused typing practice environment directly in your terminal. It tracks speed (WPM) and accuracy, saving results locally for history viewing.
✨ Features
- Multi-language Support: Practice English (Qwerty, Dvorak, Colemak) and Korean (2-set, 3-set).
- Finger Practice: Target specific finger groups to improve muscle memory.
- Accuracy Focused: Optional target accuracy mode that restarts on mistakes.
- Local History: Keep track of your speed (WPM) and accuracy over time.
🚀 Installation
Install using uv (recommended):
uv tool install ttyping
🎮 Usage
Run the app without arguments to start English practice:
uvx ttyping
⌨️ Keybindings
| Key | Action |
|---|---|
| e, k, w, h, o, q | Main Menu shortcuts (English, Korean, Weak, History, Options, Quit) |
| Tab | Restart the test |
| Esc | Go back to previous menu |
| Ctrl+C | Quit the application |
| Space | Proceed to the next word |
| Enter | Select menu option or complete word |
🛠️ Tech Stack
📄 License
Apache-2.0
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
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
File details
Details for the file ttyping-1.0.9.tar.gz.
File metadata
- Download URL: ttyping-1.0.9.tar.gz
- Upload date:
- Size: 449.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9967dd05c95581b135dc7b497dc3d817ebed6a5b755e9f3496659961fe817162
|
|
| MD5 |
f6d491af7aa7fe3ad3686b031e6a5395
|
|
| BLAKE2b-256 |
ee68321d17f0c0e134ca161a52f962ebbebcff2a8dfc60993d95197732795d7c
|
Provenance
The following attestation bundles were made for ttyping-1.0.9.tar.gz:
Publisher:
pypi.yml on partrita/ttyping
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ttyping-1.0.9.tar.gz -
Subject digest:
9967dd05c95581b135dc7b497dc3d817ebed6a5b755e9f3496659961fe817162 - Sigstore transparency entry: 1324296596
- Sigstore integration time:
-
Permalink:
partrita/ttyping@bc9e9d095a8b3c3aeed5fa08509377ec896be71a -
Branch / Tag:
refs/tags/v1.0.9 - Owner: https://github.com/partrita
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@bc9e9d095a8b3c3aeed5fa08509377ec896be71a -
Trigger Event:
push
-
Statement type:
File details
Details for the file ttyping-1.0.9-py3-none-any.whl.
File metadata
- Download URL: ttyping-1.0.9-py3-none-any.whl
- Upload date:
- Size: 87.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e568396bc960d99f6aaa1d788fecda652378651ec957b104c0984223a47888aa
|
|
| MD5 |
4804bf4f62f2438309c93b595ad7945e
|
|
| BLAKE2b-256 |
dffe18537940a67ba1ac8fdc6720768d3c19834e99da8e769cc861a8ecb0bea4
|
Provenance
The following attestation bundles were made for ttyping-1.0.9-py3-none-any.whl:
Publisher:
pypi.yml on partrita/ttyping
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ttyping-1.0.9-py3-none-any.whl -
Subject digest:
e568396bc960d99f6aaa1d788fecda652378651ec957b104c0984223a47888aa - Sigstore transparency entry: 1324296662
- Sigstore integration time:
-
Permalink:
partrita/ttyping@bc9e9d095a8b3c3aeed5fa08509377ec896be71a -
Branch / Tag:
refs/tags/v1.0.9 - Owner: https://github.com/partrita
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@bc9e9d095a8b3c3aeed5fa08509377ec896be71a -
Trigger Event:
push
-
Statement type: