devdash
A terminal-based typing speed test designed for Python developers. Practice typing real code from LeetCode problems while tracking your progress over time.
Features
- Real Code Practice: Type actual Python solutions from 499 LeetCode problems
- Live Statistics: See your CPM (Characters Per Minute) and accuracy in real-time
- IDE-like Experience: Line numbers, auto-indentation on Enter, smart cursor
- Progress Tracking: Historical data with terminal-based graphs
- Pause Support: Press
Escto pause without losing progress - Configurable: Customize settings via
~/.devdash.json
Installation
pip install devdashh
Or with pipx (recommended for macOS with Homebrew):
brew install pipx
pipx install devdashh
pipx ensurepath
Usage
devdash
Or run as a module:
python -m devdash
Controls
| Key | Action |
|---|---|
| Any key | Start typing (timer begins on first keypress) |
Backspace |
Delete previous character |
Tab |
Insert spaces (configurable, default: 2) |
Enter |
New line with auto-indentation |
Esc |
Pause/Resume |
Ctrl+C |
Quit |
Configuration
Create ~/.devdash.json to customize settings:
{
"tab_spaces": 2,
"show_live_stats": true
}
Options
| Setting | Type | Default | Description |
|---|---|---|---|
tab_spaces |
int | 2 | Number of spaces inserted when pressing Tab |
show_live_stats |
bool | true | Show CPM/accuracy in header while typing |
Metrics
- CPM (Characters Per Minute): Correct characters typed per minute
- Accuracy: Percentage of correct keystrokes (capped at 100%)
Data Storage
Your typing history is stored in data.txt in the package directory with the format:
timestamp,cpm,accuracy,elapsed_seconds
Requirements
- Python 3.8+
- macOS or Linux (uses
termiosfor terminal input)
License
MIT
Metadata
Release files for devdashh 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| devdashh-1.0.1.tar.gz | 55.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| devdashh-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 110.3 kB
Release files / devdashh-1.0.1.tar.gz
| Download URL | devdashh-1.0.1.tar.gz |
|---|---|
| Size | 55.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
628abc219bc1730cf1c355a6591ec0ce529a5b8741e6542fdd3b231c141efce3
|
|
BLAKE2b-256 checksum How to use checksums |
fa83b2f1d82d49fca95ba7c14d9a056aa39a752d65c1585f4d6556b3c221f005
|
| 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 Jan 10, 2026.
Transparency logRelease files / devdashh-1.0.1-py3-none-any.whl
| Download URL | devdashh-1.0.1-py3-none-any.whl |
|---|---|
| Size | 55.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27a4203a435d8e3eff3624b3840cd8ad297125db249f08a383c252a3c9f4278b
|
|
BLAKE2b-256 checksum How to use checksums |
ec25c6c912df5649eeb15e6c76dfe6179137e6f90a5d533269e8f2a9f74a4f2f
|
| 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 Jan 10, 2026.
Transparency log