Skip to main content

A Geeky Timer for Terminal Enthusiasts

Project description

MyTimer: A Geeky Timer for Terminal Enthusiasts


PyPI version built with Python3 GitHub repo size

Overview

MyTimer is a Python project that aims to provide a simple yet efficient timer for terminal users, particularly targeting the geek community. This project allows users to set timers directly from their command line interface, making it convenient for those who spend a significant amount of time working in the terminal!

The main objective of MyTimer is to offer a minimalistic and distraction-free timer experience. It provides a clean and straightforward interface, ensuring that users can focus solely on tracking time without any unnecessary clutter or distractions.

PyPI Counter
Github Stars
Branch main dev
CI
Code Quality CodeFactor

Installation

Source Code

PyPI

Usage

ℹ️ You can use mytimer or python -m mytimer to run this program

Version

mytimer --version

Info

mytimer --info

Basic

ℹ️ Press Ctrl + C to exit

mytimer

Time Limit

mytimer --minute=7 --second=30
mytimer --hour=2 --minute=20

Timer Mode

ℹ️ The default mode is countdown

mytimer --minute=7 --second=30 --countdown
mytimer --minute=7 --second=30 --countup

Repeat

ℹ️ The default value is 1

mytimer --repeat=3 --second=4
  • Use --repeat=-1 for infinite loop

Alarm

⚠️ This mode may not be supported on all systems

mytimer --minute=7 --second=30 --alarm

Alarm Repeat

ℹ️ The default value is 1

mytimer --minute=7 --second=30 --alarm --alarm-repeat=5

Tone

ℹ️ The default tone is 1

mytimer --minute=7 --second=30 --alarm --tone=2
  • Use --tone=-1 for random mode
  • Use --test-tone for test
  • Tones List

Face

mytimer --minute=7 --second=30 --face=3
  • Use --face=-1 for random mode
  • Faces List
  • mytimer --faces-list

Vertical/Horizontal Shift

ℹ️ The vertical and horizontal shift both have default values of 0

mytimer --v-shift=20 --h-shift=30

Timer Sign

ℹ️ Valid choices: ["", "+", "-"]

mytimer --sign="+"

Keep on

In this mode, the timer will continue running after it times out

mytimer --minute=5 --keep-on

Hide Second

In this mode, the timer seconds counter will not be shown

mytimer --minute=6 --hide-second

Hide Date/Time

In this mode, the date/time will not be shown

mytimer --minute=20 --hide-datetime

Date System

ℹ️ Valid choices: [gregorian, jalali]

ℹ️ The default date system is gregorian

mytimer --minute=20 --date-system=jalali

Vertical Mode

mytimer --minute=5 --vertical

Set on

⚠️ Local time

In this mode, the timer sets on the given time. For example, here we set a timer for 15:05:

mytimer --hour=15 --minute=5 --set-on

Program

mytimer --program=black-tea

Message

mytimer --minute=7 --second=30 --message="Test message"

Color

ℹ️ Valid choices: [black, red, green, yellow, blue, magenta, cyan, white]

ℹ️ The default color is white

mytimer --minute=7 --second=30 --color="red"

Background Color

ℹ️ Valid choices: [black, red, green, yellow, blue, magenta, cyan, white]

ℹ️ The default background color is black

mytimer --minute=7 --second=30 --bg-color="blue"

Screen Record

Issues & Bug Reports

Just fill an issue and describe it. We'll check it ASAP!

  • Please complete the issue template

References

1- Mixkit Free Alarm Sound Effects
2- Online Timer
3- Media College
4- Pomodoro Technique
5- The Rule of 52 and 17: It's Random, But it Ups Your Productivity
6- Desktime’s Productivity Research: An Overview of Our Finds Throughout the Years
7- AnimeDoro Timer
8- Know Your Tea: Your Guide to Tea Steeping Time
9- How Long to Steep Tea: A Complete Guide
10- How Long to Steep French Press: Mastering the Perfect Brew
11- Freesound
12- Online Timer with Alarm and Sound

Show Your Support

Star This Repo

Give a ⭐️ if this project helped you!

Donate to Our Project

Bitcoin

1KtNLEEeUbTEK9PdN6Ya3ZAKXaqoKUuxCy

Ethereum

0xcD4Db18B6664A9662123D4307B074aE968535388

Litecoin

Ldnz5gMcEeV8BAdsyf8FstWDC6uyYR6pgZ

Doge

DDUnKpFQbBqLpFVZ9DfuVysBdr249HxVDh

Tron

TCZxzPZLcJHr2qR3uPUB1tXB6L3FDSSAx7

Ripple

rN7ZuRG7HDGHR5nof8nu5LrsbmSB61V1qq

Binance Coin

bnb1zglwcf0ac3d0s2f6ck5kgwvcru4tlctt4p5qef

Tether

0xcD4Db18B6664A9662123D4307B074aE968535388

Dash

Xd3Yn2qZJ7VE8nbKw2fS98aLxR5M6WUU3s

Stellar

GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNL

Zilliqa

zil1knmz8zj88cf0exr2ry7nav9elehxfcgqu3c5e5

Coffeete

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Unreleased

2.4 - 2025-12-04

Added

  • --color argument
  • --bg-color argument

Changed

  • load_program_params function modified
  • pomodoro_timer function modified
  • two_step_timer function modified
  • select_timer_func function renamed to select_timer_function
  • mytimer_info function renamed to print_mytimer_info
  • run_timer function modified
  • Python 3.14 added to test.yml
  • README.md updated
  • Test system modified

2.3 - 2025-07-17

Added

  • 2 new programs
    1. eye-break
    2. power-nap
  • Start time

Changed

  • README.md updated
  • Python typing features added to all modules
  • print_date_time function modified
  • Test system modified
  • Python 3.6 support dropped

2.2 - 2025-03-13

Added

  • --date-system argument

Changed

  • README.md updated
  • Test system modified
  • countdown_timer and countup_timer functions updated
  • String templates modified
  • Input case sensitivity bug fixed

2.1 - 2025-02-28

Added

  • 4 new tones
  • --vertical argument
  • --test-tone argument

Changed

  • README.md updated
  • Test system modified
  • countdown_timer and countup_timer functions updated

2.0 - 2025-01-30

Added

  • 2 new programs
    1. coffee-break
    2. meditation
  • Clock and date
  • --hide-datetime argument

Changed

  • README.md updated
  • Test system modified
  • countdown_timer and countup_timer functions updated

1.9 - 2024-12-18

Added

  • 5 new tones
  • --info argument
  • --hide-second argument

Changed

  • GitHub actions are limited to the dev and main branches
  • countdown_timer and countup_timer functions updated
  • README.md updated
  • TONES.md updated

1.8 - 2024-10-23

Added

  • 5 new tones
  • Face random mode
  • Tone random mode
  • get_face function
  • get_tone function

Changed

  • show_faces_list function updated
  • README.md updated
  • Test system modified
  • Python 3.13 added to test.yml

1.7 - 2024-10-09

Added

  • 2 new programs
    1. mate
    2. french-press
  • 9 new tones

Changed

  • README.md updated

1.6 - 2024-08-30

Added

  • 2 new programs
    1. puer-tea
    2. purple-tea
  • --set-on argument

Changed

  • Default mode changed from count-up to countdown
  • white-tea program duration changed from 10 minutes to 3 minutes

1.5 - 2024-08-12

Added

  • 2 new programs
    1. rooibos-tea
    2. yellow-tea
  • --keep-on argument

Changed

  • README.md updated
  • Programs message updated

1.4 - 2024-07-15

Added

  • 1 new program
    1. mid-break
  • --repeat argument
  • --sign argument

Changed

  • long-break program duration changed from 15 minutes to 30 minutes
  • README.md updated

1.3 - 2024-05-23

Added

  • 1 new program
    1. animedoro
  • two_step_timer function
  • print_message function
  • SECURITY.md

Changed

  • Test system modified
  • nava added to requirements.txt
  • Sound playing system updated
  • Python 3.5 dropped
  • short-break program duration changed from 10 minutes to 5 minutes
  • long-break program duration changed from 30 minutes to 15 minutes
  • pomodoro program updated
  • pomodoro_timer function modified
  • load_params function modified
  • README.md updated

Removed

  • animedoro_timer function
  • _112_26_timer function
  • _52_17_timer function

1.2 - 2024-02-05

Added

  • feature_request.yml template
  • config.yml for issue template
  • 2 new programs
    1. 52-17
    2. 112-26

Changed

  • Bug report template modified
  • run_timer function modified

1.1 - 2023-12-20

Added

  • 1 new program
    1. pomodoro

Changed

  • TIME_PRINT_TEMPLATE changed
  • KeyboardInterrupt exit handling updated
  • ADDITIONAL_INFO added to argparser epilog
  • Python 3.12 added to test.yml

1.0 - 2023-11-08

Added

  • --programs-list argument
  • --faces-list argument
  • --v-shift argument
  • --h-shift argument
  • DEFAULT_PARAMS parameter
  • PROGRAMS_DEFAULTS parameter
  • load_program_params function

Changed

  • japanese-green-tea program bug fixed
  • README.md updated

0.9 - 2023-10-04

Added

  • 4 new faces
  • 4 new programs
    1. work
    2. short-break
    3. long-break
    4. noodle

Changed

  • PROGRAMS.md updated

0.8 - 2023-08-07

Added

  • Logo
  • --alarm-repeat argument

Changed

  • Tones length modified
  • README.md updated

0.7 - 2023-07-23

Added

  • --tone argument
  • TONES.md
  • 9 new tones

Changed

  • Test system modified
  • input_check decorator renamed to input_handler
  • countup_timer function inputs modified
  • countdown_timer function inputs modified
  • PROGRAMS.md updated
  • FACES.md updated

0.6 - 2023-07-04

Added

  • --program argument
  • PROGRAMS.md
  • run_timer function

Changed

  • Inputs type changed to int
  • README.md updated
  • WRONG_INPUT_ERROR renamed to INPUT_ERROR_MESSAGE
  • Alarm tone changed

0.5 - 2023-05-25

Added

  • 5 new faces
  • --message argument

Changed

  • play_sound function modified
  • playsound removed from requirements.txt
  • README.md updated

0.4 - 2023-02-10

Added

  • 4 new faces
  • Infinite timer mode

Changed

  • README.md updated
  • Parameters moved to params.py

0.3 - 2022-11-25

Added

  • --face argument
  • FACES.md

Changed

  • README.md updated
  • Minimum art library version changed from 1.8 to 2.9

0.2 - 2022-11-03

Added

  • --version flag

Changed

  • Test system modified
  • countdown_timer function modified
  • countup_timer function modified

0.1 - 2022-10-18

Added

  • Countdown mode
  • Count-up mode
  • Alarm

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

mytimer-2.4.tar.gz (6.5 MB view details)

Uploaded Source

Built Distribution

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

mytimer-2.4-py3-none-any.whl (6.4 MB view details)

Uploaded Python 3

File details

Details for the file mytimer-2.4.tar.gz.

File metadata

  • Download URL: mytimer-2.4.tar.gz
  • Upload date:
  • Size: 6.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for mytimer-2.4.tar.gz
Algorithm Hash digest
SHA256 e4bc450ec69b854af1f2e30fbb5431153feff7e94779232dccc0e31450414ee9
MD5 90fc062ddf5511cc31f8b1f4bbb1f68d
BLAKE2b-256 5f8c4fbbf11deea9fd7d1dd4a82c5c497315a3353674a32f9248c784e035288e

See more details on using hashes here.

File details

Details for the file mytimer-2.4-py3-none-any.whl.

File metadata

  • Download URL: mytimer-2.4-py3-none-any.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for mytimer-2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c9d253159c1da1f3b61c8a981b097c9d1e12c11c1c1940129982ab918c7c7ee2
MD5 d11a47832568eeb7512d2fdaa733a5fa
BLAKE2b-256 7bd07c11edb71d299e1a24f90f10335f048b5e45c514af76b4e48e25d9068068

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