Welcome to the TimeTagger docs

TimeTagger is an open source time tracker with a focus on a simple and interactive user experience.

These docs are intended for developers who want to either communicate with the server via the web API, or run their own server using the library.

Using the public web API

The web API provides a way to communicate with the TimeTagger server (either the one at timetagger.app, or one you host yourself). It allows you to query, create, and update time-records outside of the web interface. Any changes you make will be directly (the client syncs every 10s) visible in the web client.

This makes it possible to create alternative clients, like the TimeTagger CLI, or to automate the tracking of certain processes by writing a script.

Run your own server

TimeTagger provides an example/default script to run the TimeTagger app locally in run.py. You can also integrate TimeTagger into a larger web application, or extend it in your own ways using the library. One prerequisite is that the web-server framework is async. Examples can be Asgineer, Responder, Starlette, Quart, etc.

You can do whatever you want when you run things locally. When you host it on the web, you should take care of authentication, and make sure that you comply to the TimeTagger license (GPLv3).

If you're interested in including TimeTagger into a larger product, contact me for information about an OEM license.