Skip to main content

An open source time tracker - tag your time, and see where it has gone

Project description

CI

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

timetagger-21.1.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

timetagger-21.1.1-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

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

Hashes for timetagger-21.1.1.tar.gz
Algorithm Hash digest
SHA256 b3ee26d34d6699df7fedb08b389f7384bdebe02ec5d25fcf548f127087aa545a
MD5 b207ba6c2fdb2da9794eab14aab57937
BLAKE2b-256 bd3f4fbd12cfc19f887d9e88b089c542e8005ae74092d2f8f2042f7958917710

See more details on using hashes here.

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

Hashes for timetagger-21.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ea4eb5848e663658c1283430e68a6604c29d2dc886704b78e69d2e97fee26a96
MD5 e0f55aae8bba5753657a9ae73f4f40c2
BLAKE2b-256 e99070e26c3bea804686c3b3a4da81cef1d38c72c8396519d1985b1bc02be634

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page