Steven Wilcox / Sigye

Created Fri, 11 Apr 2025 10:08:01 -0600 Modified Sat, 12 Apr 2025 06:49:16 -0700
403 Words

Sigye - Time Tracking via CLI

TL;DR

Introducing Sigye – a CLI program for tracking your time.

Overview

  • Why: Even though I don’t have to track time for billing purposes for my job, I thought it would be good to hold myself accountable and also have a record of how much time I spent on what.
  • What: I wanted a CLI tool that was quick and low barrier to recording time. I did look at a few existing tools like timetrace but wanted something even simpler.
  • Additional Goals:
    • some DDD practice.
    • experiment with a little bit of translation and localization (Sigye means “clock” in Korean so I thought it would be neat to offer output in Korean).
    • ability to support multiple storage backends.

Lessons Learned

User Experience

As something I leverage every workday, I wanted and have adapted the project to help me stay more personally accountable. And of course, if I ever get asked about where I’m spending my time or how many hours I’ve worked, I can get to that very easily.

And now having actually used the tool for several months, it’s been mostly all I wanted it to be. Is there room for improvement? Absolutely! I still have some sharp edges to soften up a bit around editing and most specifically easier entry of past time records. But it’s fulfilling its duties quite well as a whole.

❯ sigye --help
Usage: sigye [OPTIONS] COMMAND [ARGS]...

Options:
  --version                       Show the version and exit.
  -c, --config-file PATH          Path to config file  [default:
                                  /Users/steven/.sigye/config.yaml]
  -f, --filename PATH             Path to data file
  -o, --output_format [text|json|rich|yaml|markdown|csv|]
                                  Output format
  --help                          Show this message and exit.

Commands:
  delete (del,rm)  delete a time entry
  edit             edit a time entry using the system editor
  export           export time entries to a file
  list (ls)        display list of time entries for a time period
  start            start tracking work on a project
  status           displays currently tracked (if active)
  stop             stop tracking work on a project

Other Observations

It’s odd to me that Google search still doesn’t think it’s a python library or project even though it’s on PyPI as Sigye and has been for quite some time. sigh