Skip to main content

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 (msvcrt for Windows, termios/tty for 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 UI
  • money-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


Download files

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

Source Distribution

typemaster_pro-1.0.0.tar.gz (2.8 kB view details)

Uploaded Source

Built Distribution

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

typemaster_pro-1.0.0-py3-none-any.whl (2.8 kB view details)

Uploaded Python 3

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

Hashes for typemaster_pro-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0d7428ccb504ef521db51f7e95e6c0769127faad7757f16d715b99ad925092e6
MD5 284380d125479ae17552ac2d583cbd4c
BLAKE2b-256 09ae4d7391711adf07de3268437210fcae9dc8d5c1d537b0b4bca52e81f714ec

See more details on using hashes here.

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

Hashes for typemaster_pro-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac0c75a2a29c7e7a044911e4a927246194ba19022cd0f106dc7554763e01e071
MD5 0bc29e8e1cd8a13a22bb8eb6f7125a96
BLAKE2b-256 cda39b338c3fa1cf964b12ed215782f9045876a8a2f3349a57d1ed98c7577593

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