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.
🖥️ Main interface | 🖥️ Tracker console | 🖥️ Analysis Interface |
---|---|---|
- ✅ Monitor and record the uptime of active windows
- ✅ Detect Inactivity
- ✅ Log data to csv file
- ☑️ Read date reports and plot total usage time graphs
- ✅ 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)
-
Clone or download the repository to your local machine.
-
Open a terminal or command prompt and navigate to the directory where the script is located.
-
Run the script using the following command:
python main.py
or
-
Execute exec_main.bat file in the same directory
-
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
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
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).
- 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
This repository readme was inspired in readme template from repo-full-readme by Dener Garcia