Clockify TUI is an unofficial terminal interface for the Clockify time tracking app, written in Python.
While there are official apps for a range of platforms, I wanted to make something a bit simpler that can be operated from the terminal. Thankfully, there is a well-documented public API we can use. The current plan is to use blessed
for the UI and clockify-api-client
for interactive with the Clockify API.
It is currently under development, but the initial goals of the project are to:
This will require some additional machinery:
I also have some less pressing, nice-to-have features in mind:
[^1]: Even if you only ever use one workspace, you still need to tell the Clockify API which workspace that is.
To get started, you will need a Clockify account. You can sign up for free here.
You will also need to generate an API key so that you can connect to the Clockify API. Once you have created an account and logged in, you can generate a new one in the advanced tab of the preferences page.
This is a Python application that uses poetry for packaging and dependency management. It also provides pre-commit hooks for various linters and formatters and automated tests using pytest and GitHub Actions. Pre-commit hooks are automatically kept updated with a dedicated GitHub Action.
To get started:
Download and install Poetry following the instructions for your OS.
Clone this repository and make it your working directory
Set up the virtual environment:
poetry install
Activate the virtual environment (alternatively, ensure any Python-related command is preceded by poetry run
):
poetry shell
Install the git hooks:
pre-commit install
Run the main app:
python -m clockify_tui