Welcome to the TimeTagger docs
TimeTagger is an open source time tracker with a focus on a simple and interactive user experience.
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 visible in the web client almost directly (the client syncs every 10s).
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 main.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, and Quart.
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).
Also check this article about self-hosting TimeTagger.
If you're interested in including TimeTagger into a larger product, contact me for information about an OEM license.