Advanced Terminal Typing Suite with User Management and Statistics
Project description
TypeMaster Pro
TypeMaster Pro is an advanced terminal-based typing test suite written in Python. It features user management, session statistics, and persistent data storage using SQLite. The UI is rendered in the terminal using a double-buffer technique for smooth, flicker-free updates.
Features
- User login, registration, and guest mode
- Typing test with WPM, accuracy, and error tracking
- Persistent statistics for registered users
- Leaderboard showing top users by best WPM
- Export statistics to JSON (admin only)
- Modern terminal UI (Windows and POSIX compatible)
Technologies Used
- Python 3.7+
- SQLite (via
sqlite3) - Terminal input handling (
msvcrtfor Windows,termios/ttyfor POSIX) - ANSI escape codes for UI rendering
How It Works
- On launch, users can log in, register, or continue as guest.
- Typing tests present a random sentence; stats are tracked live.
- Registered users' stats are saved in
data/users.db. - Exported stats are saved as JSON in the user's home directory.
Installation
Install TypeMaster Pro from PyPI:
pip install typemaster-pro
Or install from source:
git clone https://github.com/yourusername/typemaster-pro.git
cd typemaster-pro
pip install .
Usage
Run the app:
typemaster
Or directly:
python -m typemaster_pro
Features
- User login, registration, and guest mode
- Typing test with WPM, accuracy, and error tracking
- Persistent statistics for registered users
- Export statistics to JSON
- Modern terminal UI (Windows and POSIX compatible)
Upcoming Features
- Colorful UI with true color support
- Multi-sentence and paragraph typing tests
- Online leaderboard integration
- Customizable test texts
- Sound feedback for errors and completion
- Mouse/touch support for compatible terminals
File Overview
typemaster_pro.py: Main application logic and UImoney-type.py: (To be documented)monkey-type.html: (To be documented)data/users.db: SQLite database for user and stats
Documentation for other files
money-type.py
Purpose: (Add your typing logic, utilities, or alternate test modes here.) Tech: Python 3.x How to use: Import or run as a script. Extend with new typing exercises or utilities. Deployment: Same as main app. No external dependencies. Upcoming: Add advanced typing modes, analytics, or integration with main app.
monkey-type.html
Purpose: (Web-based typing test or UI.) Tech: HTML5, CSS, JavaScript (if present) How to use: Open in a browser. Extend with interactive typing features. Deployment: Static file; host on any web server or open locally. Upcoming: Add live stats, connect to backend, improve UI/UX.
Comments in Code
- All major classes and methods are documented with docstrings.
- Inline comments explain key logic, especially for input handling and buffer rendering.
- Database schema and queries are commented for clarity.
For questions or contributions, open an issue or contact the maintainer.
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 typemaster_pro-1.0.0.tar.gz.
File metadata
- Download URL: typemaster_pro-1.0.0.tar.gz
- Upload date:
- Size: 2.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d7428ccb504ef521db51f7e95e6c0769127faad7757f16d715b99ad925092e6
|
|
| MD5 |
284380d125479ae17552ac2d583cbd4c
|
|
| BLAKE2b-256 |
09ae4d7391711adf07de3268437210fcae9dc8d5c1d537b0b4bca52e81f714ec
|
File details
Details for the file typemaster_pro-1.0.0-py3-none-any.whl.
File metadata
- Download URL: typemaster_pro-1.0.0-py3-none-any.whl
- Upload date:
- Size: 2.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac0c75a2a29c7e7a044911e4a927246194ba19022cd0f106dc7554763e01e071
|
|
| MD5 |
0bc29e8e1cd8a13a22bb8eb6f7125a96
|
|
| BLAKE2b-256 |
cda39b338c3fa1cf964b12ed215782f9045876a8a2f3349a57d1ed98c7577593
|