Skip to main content

A terminal-based stopwatch application featuring ASCII art display

Project description

Terminal Stopwatch

A terminal-based stopwatch application featuring ASCII art time display and lap time functionality.

Stopwatch Demo

Features

  • Large number display using ASCII art
  • Lap time recording
  • Simple keyboard shortcuts
  • HH:MM:SS format for times over an hour
  • MM:SS format for times under an hour
  • Clean and intuitive terminal interface

Installation

Using Poetry:

poetry add terminal-stopwatch

Using Pip:

pip install terminal-stopwatch

Usage

As a Package

from terminal_stopwatch.main import main

main()

From Command Line

# With Poetry
poetry run python -m terminal_stopwatch

# With Python
python -m terminal_stopwatch

Controls

  • s - Start/Pause
  • l - Record Lap Time
  • r - Reset
  • q - Quit
  • Ctrl+C - Force Quit

Project Structure

terminal_stopwatch/
├── __init__.py        # Package initialization
├── constants.py       # Constants definition
├── models.py          # Data models (TimeDisplay)
├── terminal.py        # Terminal control
├── input_handler.py   # Input handling
├── stopwatch.py       # Stopwatch logic
└── main.py           # Main execution

Development Setup

  1. Clone the repository:
git clone https://github.com/taejun0622/stopwatch.git
cd stopwatch
  1. Set up Poetry environment:
poetry install
  1. Run in development mode:
poetry run python run.py

Dependencies

  • Python 3.11+
  • colorama - Terminal color support
  • pyfiglet - ASCII art generation

License

MIT License

Contributing

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Author

Changelog

[1.0.0] - 2024-02-20

  • Initial Release
  • Basic stopwatch functionality with ASCII art display
  • Lap time recording feature
  • Published to PyPI

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

terminal_stopwatch-1.1.2.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

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

terminal_stopwatch-1.1.2-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file terminal_stopwatch-1.1.2.tar.gz.

File metadata

  • Download URL: terminal_stopwatch-1.1.2.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.5 Darwin/23.5.0

File hashes

Hashes for terminal_stopwatch-1.1.2.tar.gz
Algorithm Hash digest
SHA256 a3b37c53a2c0a5b8ebf3da05579b0fb2c4a3bd8534ca20bd73bb95b405d769ae
MD5 7979afc6cce1a4c32153a57ad376d21b
BLAKE2b-256 0af34368e3298cc624067e610cd03f05b36cc74879eff75333cce5d321e5cae2

See more details on using hashes here.

File details

Details for the file terminal_stopwatch-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: terminal_stopwatch-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.5 Darwin/23.5.0

File hashes

Hashes for terminal_stopwatch-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0952a280d7d9bb9881662513e5c4fb9c1de62bdcceb74b0d6eee61c490b5a8bc
MD5 b4336f529a0dfd1d86227560fd4b5017
BLAKE2b-256 25c49ddc5a5c571655cdec3c6b884258d41a5fc1685358de0a0c07cf8bd9dbe4

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