Skip to main content

Sage is an easy-to-use command line timer that looks good and accepts natural language time formats.

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 stopwatch                          # Start a stopwatch

Usage

Timer

A running Sage timer.

Sage timer

Run A Timer

Sage recognizes flexible, human-readable time formats across multiple styles that match however you naturally express time.

sage timer 25m                          # Start a 25-minute timer
sage timer "10 minutes 30 seconds"      # Start a 10-minute 30-second timer
sage timer 3min25s                      # Start a 3-minute 25-second

It also accepts custom timer names. A list of built-in timers can be found with sage list.

sage timer pomodoro                     # Start a 25-minute timer

Let A Timer Complete Quietly

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

sage timer 7m --quiet

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

Stopwatch

A running Sage stopwatch, with centisecond precision.

Sage stopwatch

Run A Stopwatch

Sage provides precise time tracking with centisecond accuracy for activities with unknown duration.

sage stopwatch                          # Start a stopwatch immediately

Clock Controls

Once running, both the timer and stopwatch can be controlled with the following simple keystrokes:

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

The Counter

The Sage timer and stopwatch include a counter which can be used to track laps, counts, reps, etc. Just press Enter to increment while in the clock interface.

Load A Clock Without Starting

Built-in potato timer, loaded in a paused state.

Paused Sage timer

The timer and stopwatch commands accept a --paused flag that will load the clock in a paused state. Once the clock is loaded, a "Paused" message will appear beneath the clock time and the clock will wait for the Space key to start.

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

Philosophy

Most CLI tools prioritize technical precision over human usability, making them inaccessible to casual users. Sage was built out of a desire to prove that command line applications can be both powerful and intuitive, using natural language processing and a simple UX design.

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.1.tar.gz (2.1 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.1-py3-none-any.whl (72.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for sage_timer-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2b29b0348965b580f7fcd2fa139f26bd592c15c7dc7fd5557459efcaac192b15
MD5 689a01840d02c0cf38b0fc83fdee9382
BLAKE2b-256 6e53f032e757d231315173878331892d9e63f992c93ef9ee3f2b578a7e62590c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for sage_timer-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 82a827f7f783cfa1f4998ba9646977466eb4d0f68191dab498ec9311e862f3a1
MD5 ab9073c9b049309148e9a3ab223b4ee0
BLAKE2b-256 ded2941a3787b5a30965869f104b197a7ce8047f2fe00166e82a86cf17e83853

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