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.

PyPI version License: MIT

Terminal 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.2.0.tar.gz (5.5 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.2.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: terminal_stopwatch-1.2.0.tar.gz
  • Upload date:
  • Size: 5.5 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.2.0.tar.gz
Algorithm Hash digest
SHA256 ae22091173319f5b6a9732eb35a474da8c3caa021c3d94415318573d4ebb3cee
MD5 1037d6663ddb0e2bfdc50adc7363f5c4
BLAKE2b-256 a8c260037c0cd93a8c6b684793ea28ec93d0ce109077415d61fdbf6bba4b8e6a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: terminal_stopwatch-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.8 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec0af2a497a80ab7cec80c7d0cf2eac3aa76b460cc6cfa6255057eb5629c8010
MD5 68e4d49ed9ba76a0f484f0048c548746
BLAKE2b-256 7abb5395bd5f9faec0ffb15013b0d65e954c314fa33a23a095e3ed0be4c99553

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