Skip to content

A modern Python + Tkinter typing speed test app with dynamic Wikipedia text, real-time WPM/accuracy tracking, difficulty settings, light/dark mode, and high score tracking.

Notifications You must be signed in to change notification settings

Djain912/Python_Typing_Speed_Test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Python Typing Speed Test

Python Typing App

A modern, interactive typing speed test application built with Python and Tkinter. Test your typing skills with dynamic text fetched from Wikipedia, track your Words Per Minute (WPM), accuracy, and high scores, and enjoy a polished user interface with light/dark mode support.

⭐ Features

  • Dynamic Text: Random 2-sentence summaries fetched from Wikipedia for varied typing practice
  • Real-Time Feedback: Live updates for WPM, accuracy, and progress bar during typing
  • Difficulty Selection: Choose from Easy, Medium, or Hard modes
  • Light/Dark Mode: Toggle between light and dark themes for comfortable use
  • High Score Tracking: Persists your best WPM score during the session
  • Responsive UI: Clean design with visual cues for correct/incorrect typing and auto-scrolling text
  • Results Summary: Detailed results with WPM, accuracy, and time taken, plus motivational pop-ups

Python Typing Test UI

🚀 Getting Started

Prerequisites

  • Python 3.6 or higher
  • Required Python libraries:
    • tkinter (usually included with Python)
    • wikipedia-api

Installation

  1. Clone the Repository:

    git clone https://github.com/your-username/python-typing-speed-test.git
    cd python-typing-speed-test
  2. Install Dependencies:

    pip install wikipedia-api
  3. Run the Application:

    python typing_speed_test.py

📝 Usage

  1. Launch the app to see a random Wikipedia text loaded
  2. Select difficulty (Easy/Medium/Hard) or click "New Test" for fresh text
  3. Start typing in the input field - timer begins automatically
  4. Monitor your performance with live stats (WPM, accuracy, time)
  5. Complete the test by typing the full text or pressing Enter
  6. View your results with detailed performance metrics

Performance Feedback

  • Excellent: ≥95% accuracy and ≥60 WPM
  • Good Job: ≥90% accuracy and ≥40 WPM
  • Test Complete: All other outcomes

🔧 Key Features In Detail

1. Dynamic Text Generation

The app fetches random summaries from Wikipedia, ensuring a unique typing experience every time you practice.

2. Real-Time Performance Metrics

Track your typing speed and accuracy as you type with our intuitive interface showing:

  • Words Per Minute (WPM)
  • Accuracy percentage
  • Elapsed time
  • Visual progress bar

3. Customizable Interface

Switch between light and dark modes to reduce eye strain during extended typing sessions.

🔄 Future Enhancements

  • Save high scores to a file for persistence across sessions
  • Implement varied text complexity for different difficulty levels
  • Add customizable test durations (30s, 1min, 2min options)
  • Include a practice mode with no timer
  • Support for additional text sources beyond Wikipedia

💡 Contributing

Contributions are welcome! To contribute:

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

Please ensure your code follows PEP 8 guidelines and includes appropriate comments.

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

🙏 Acknowledgments

  • Built with Tkinter for the GUI
  • Powered by Wikipedia-API for dynamic content
  • Inspired by typing test applications like Typing.com and Keybr.com

Tags: Python, typing test, speed typing, WPM calculator, Tkinter GUI, typing practice, Python typing app

About

A modern Python + Tkinter typing speed test app with dynamic Wikipedia text, real-time WPM/accuracy tracking, difficulty settings, light/dark mode, and high score tracking.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages