Skip to main content

Sage is an easy-to-use command line timer that looks good and adheres to your human inclinations about the language of time.

Project description

Sage

Sage is an easy-to-use command line timer that looks good and adheres to your human inclinations about the language of time. Use natural language like "25m" or "1 hour 30 minutes" when running timers, or create preset timers that can be called with names like "pomodoro".

Sage integrated into a development workflow

Sage pomodoro timer

Quick Start

  1. Install Sage:
pip install sage-timer
  1. Start a timer or stopwatch.
sage timer 35m                          # Start a 35-minute timer
sage timer pomodoro                     # Start pomodoro timer
sage timer pomodoro --paused            # Load pomodoro timer, but don't start
sage stopwatch                          # Start a stopwatch
sage stopwatch --paused                 # Load stopwatch, but don't start
sage list                               # See all preset timers

Usage

Timer

sage timer accepts flexible, human-readable time formats that work however you naturally think about time:

sage timer 25m                          # 25 minutes
sage timer "10 minutes 30 seconds"      # 10 minutes 30 seconds
sage timer 3min25s                      # 3 minutes 25 seconds
sage timer "1 hour 15m"                 # 1 hour 15 minutes
sage timer 2h30m45s                     # 2 hours 30 minutes 45 seconds

Let Timer Complete Quietly

Use the --quiet flag to let the timer complete without a sound.

sage timer 7m --quiet

Timer Controls

Once running, control your timer with simple keystrokes:

  • Space - Pause and resume
  • Enter - Increment counter
  • Q - Quit

Custom Timers

Create custom timers and run them with sage timer.

sage create workout 1hr                 # Create 1 hour workout timer
sage timer workout                      # Start workout timer

Managing Custom Timers

Custom timers are managed with the following commands:

sage list                               # List all available timers
sage create <name> <duration>           # Create a new timer
sage update <name> <duration>           # Update existing timer
sage rename <name> <new_name>           # Rename a timer
sage delete <name>                      # Delete a timer

Example Usage

sage create workout 45m                 # Create 45 minute workout timer
sage update workout 1hr                 # Update workout timer to 1 hour
sage rename workout yoga                # Rename workout timer name to yoga
sage timer yoga                         # Start 1 hour yoga timer
sage delete yoga                        # Delete yoga timer

All timer commands accept the same flexible time formats as the main timer.

Stopwatch

For timing activities with unknown duration:

sage stopwatch                          # Start a stopwatch immediately

Stopwatch Controls

  • Space - Pause and resume
  • Enter - Increment counter
  • Q - Quit

Counter

Both timer and stopwatch include a counter which can be used to track laps, counts, reps, etc. Just press Enter to increment.

Load A Clock Without Starting

Both timer and stopwatch can load in a paused state with the --paused flag. Once a clock is loaded, press Space to start.

sage timer 25m --paused                 # Load timer in paused state
sage stopwatch --paused                 # Load stopwatch in paused state

License

MIT License - see LICENSE file for details.

Contributing

Contributions welcome! Please feel free to submit issues and pull requests.

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

sage_timer-0.1.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

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

sage_timer-0.1.0-py3-none-any.whl (72.2 kB view details)

Uploaded Python 3

File details

Details for the file sage_timer-0.1.0.tar.gz.

File metadata

  • Download URL: sage_timer-0.1.0.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for sage_timer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b020b1238f77533108e20a350d7ab5ce1a50ceb327ddbab283f7770fae2f58b5
MD5 682d97d5f6fe6acdca14ab7dafdc73b6
BLAKE2b-256 3bacffcfb79f7ac7a34a200faaec5f5e57d7d76f98073dcb1375a92ca2326b2d

See more details on using hashes here.

File details

Details for the file sage_timer-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sage_timer-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 72.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for sage_timer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1df58bf44d47abc03a6bd92493037ee058d1398d4172e25e646ea2636323ee28
MD5 d943c00729737964b4eb0ae6419e3b98
BLAKE2b-256 c2275a7594b53d2a66c6b4e11265b8bdd292ca8e2c95586f04917325f205894e

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