TimingPy is a Python library to wrap the web API for Timing.app.

Timing.app is a paid macOS app for time tracking. The goals of this quick project were two fold,

1) to continue learning Python and 2) creating some tooling to bridge all of the various tools/service I use throughout the day, more on this someday (maybe).

The repository is available on Github here: lucasjhall/TimingPy

TimingPy supports all of the calls available via Web API Documentation as of 2021-02-27 but currently has no data validation. Here is a quick illustration to create a task:

>>> task = TimingPy.Task.create_new_task(
    title="New Task",

Returning task a requst obj that shold read <Response [201]> via print(). Supporing the usual request attributes. Reading details about the task created:

>>> print(task.text) 

{"data":{"self":"\/time-entries\/$ID_OF_EVENT","start_date":"2021-03-16T16:00:00.000000+00:00","end_date":"2021-03-16T17:00:00.000000+00:00","duration":3600,"project":null,"title":"New Task","notes":null,"is_running":false,"creator_name":"$YOUR_ACCOUNT_EMAIL"}}

Both start_date and end_date need to be formated in ISO8601 which this tool doesn’t account for, as of yet.

You can read more on Timing here, the Web API Documentation and Timing for Teams.