An open source time tracker - tag your time, and see where it has gone
Project description
TimeTagger
Tag your time, get the insight - an open source time tracker with a focus on a simple and interactive user experience.
Introduction
TimeTagger is a web-based time-tracking solution that can be run locally or on a server. In the latter case, you'll want to add authentication, and also be aware of the license restrictions.
The server runs on async Python using uvicorn and asgineer - which is fun and bloody fast. It uses SQLite via itemdb to store the data, making it easy to deploy.
The client is a mix of HTML, CSS, Markdown, and ... Python! PScript is used to compile the Python to JavaScript. This may be a bit idiosyncratic, but it's fun! Maybe I'll someday implement it in something that compiles down to Wasm :)
Usage example
This repo is organized as a library, making it quite flexible to apply tweaks.
See run.py
for an example of how to run it as a web app.
You can also see it in action at https://timetagger.app - you can also purchase an account for $2 per month so you don't have to worry about maintaining a server, backups, and all that. Plus you'd sponsor this project and open source in general.
Installation
TimeTagger is a Python library and requires Python 3.6 or higher. The dependencies are listed in requirements.txt
- these are installed automatically when you install TimeTagger with Pip.
# Latest release
pip install -U timetagger
# Latest from Github
pip install -U https://github.com/almarklein/timetagger/archive/main.zip
# Uninstall
pip uninstall timetagger
After installation, copy and execute python run.py
to get started.
License
This code is subject to the GPL-3.0 License. Contributors must agree to the Contributor License Agreement to grant the right to use contributions at e.g. the TimeTagger.app service.
Developers
Additional developer dependencies:
pip install black flake8 pytest requests
black .
to autoformat.flake8 .
to check for linting errors.pytest .
to run the unit tests.
API
TODO
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file timetagger-21.1.1.tar.gz
.
File metadata
- Download URL: timetagger-21.1.1.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3ee26d34d6699df7fedb08b389f7384bdebe02ec5d25fcf548f127087aa545a |
|
MD5 | b207ba6c2fdb2da9794eab14aab57937 |
|
BLAKE2b-256 | bd3f4fbd12cfc19f887d9e88b089c542e8005ae74092d2f8f2042f7958917710 |
File details
Details for the file timetagger-21.1.1-py3-none-any.whl
.
File metadata
- Download URL: timetagger-21.1.1-py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea4eb5848e663658c1283430e68a6604c29d2dc886704b78e69d2e97fee26a96 |
|
MD5 | e0f55aae8bba5753657a9ae73f4f40c2 |
|
BLAKE2b-256 | e99070e26c3bea804686c3b3a4da81cef1d38c72c8396519d1985b1bc02be634 |