Skip to content

hope8hope/Desktop-Time-Tracker-Python-Tkinter-SQLite-

Repository files navigation

Desktop Time Tracker (Python + Tkinter + SQLite)

Desktop Time Tracker is a lightweight offline desktop app for tracking work time by project. Built with Python, Tkinter, and SQLite, it supports live timer sessions, manual entries, editing, search, sorting, CSV export, and Windows EXE packaging.

Features

  • Start and stop a live active timer.
  • Manage projects (add and delete).
  • Create manual time entries.
  • Edit and delete entries.
  • Search by project or description.
  • Sort table columns by clicking headers.
  • Zebra table rows and auto-fit column widths.
  • Filter entries by date range.
  • Export filtered entries to CSV.
  • Restore active session on next launch.
  • Safe close dialog when timer is active.

UI Details

  • Date hints:
    • manual entry: YYYY-MM-DD HH:MM:SS
    • filters: YYYY-MM-DD
  • Timer status color changes when tracking is active.
  • Hotkeys:
    • Ctrl+F focus search
    • Delete delete selected table row
    • Ctrl+S save manual entry
    • edit dialog: Ctrl+S save, Esc cancel

Quick Start

python main.py

After first launch, local database is created at:

  • data/time_tracker.db

Build EXE (Windows)

Install build dependencies and build in folder mode:

powershell -ExecutionPolicy Bypass -File .\build_exe.ps1

Build as single executable:

powershell -ExecutionPolicy Bypass -File .\build_exe.ps1 -OneFile

Build output:

  • Folder mode: dist\DesktopTimeTracker\DesktopTimeTracker.exe
  • One-file mode: dist\DesktopTimeTracker.exe

GitHub Project Metadata

Use this in repository settings:

  • Repository name: desktop-time-tracker-python
  • Project title: Desktop Time Tracker (Python + Tkinter + SQLite)
  • About description: Offline desktop time-tracking app with projects, manual entries, edit/delete, search, sorting, CSV export, and EXE build script.
  • Topics: python, tkinter, sqlite, desktop-app, time-tracker, productivity, csv-export, pyinstaller, windows, offline
  • License: MIT

First release:

  • Tag: v1.0.0
  • Title: First stable release: Desktop Time Tracker
  • Notes: Live timer, projects, manual/edit entries, filters, search, sorting, CSV export, and EXE build script.

Project Structure

  • main.py - app entry point
  • app.py - UI and app logic
  • database.py - SQLite data layer
  • build_exe.ps1 - EXE build script
  • requirements.txt - runtime dependencies (none)
  • requirements-dev.txt - dev/build dependencies
  • .gitignore - Git ignore rules
  • LICENSE - MIT license

Publish to GitHub

git init
git add .
git commit -m "Initial commit: Desktop Time Tracker app"
git branch -M main
git remote add origin <YOUR_REPO_URL>
git push -u origin main

About

Offline desktop time-tracking app with projects, manual entries, edit/delete, search, sorting, CSV export, and EXE build script

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors