Moscarde / PyProductivity

Application uptime tracker that monitors active windows, automatically generating daily usage reports.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

The script is an application uptime tracker that monitors active windows and records the time spent on specific applications, automatically generating daily usage reports. The script can help you analyze where you are wasting time and increase your productivity by focusing on the right applications.

Versão em Português

🖥️ Main interface 🖥️ Tracker console 🖥️ Analysis Interface

⚙️ Features

  • ✅ Monitor and record the uptime of active windows
  • ✅ Detect Inactivity
  • ✅ Log data to csv file
  • ☑️ Read date reports and plot total usage time graphs

🧰 Libs

  • pygetwindow: Identifies the active window title
  • pyautogui: Helps identify inactivity
  • matplotlib: Plots graphs
  • pandas: Analyses data
  • numpy: Assists in data management
  • pywin32: Allow hiding the console (optional)

⬇️ Usage

  1. Clone or download the repository to your local machine.

  2. Open a terminal or command prompt and navigate to the directory where the script is located.

  3. Run the script using the following command:

 python main.py

or

  1. Execute exec_main.bat file in the same directory

  2. In the main interface you can chose which function you want to execute

    • Start tracking script
    • Open analysis inteface
    • Install tracking script in system startup

📋 Prerequisites

Before using the PyProductivity, make sure you have the following prerequisites:

  • Python 3.x installed on your system.
  • The required Python libraries installed. You can install them using pip:
pip install -r requirements.txt

or

  • Execute update_libs.bat file in the same directory

Example csv logs and analysis interface 📊


timestamp,app_name,minutes_away
2023-11-03 16:08:04,Windows PowerShell,0
2023-11-03 16:08:08,Windows PowerShell,0
2023-11-03 16:08:08,tracker_data.py - PyWindows - Visual Studio Code,0
2023-11-03 16:08:08,Visual Studio Code,0

The report comprises the timestamp, window name of an application, and the duration of inactivity in minutes (which can be used for data analysis and filtering).

⌛ Development progress

  • Monitor and record the uptime of active windows
  • Detect Inactivity
  • Log data to csv file
  • Read date reports and plot total usage time graphs
  • More insightful graphs
  • Time goals with real-time progress visualization
  • Limit app daily usage time by app name

And maybe something more

🙏 Special thanks

This repository readme was inspired in readme template from repo-full-readme by Dener Garcia

💬 Lets connect?

About

Application uptime tracker that monitors active windows, automatically generating daily usage reports.


Languages

Language:Python 99.0%Language:Batchfile 1.0%