The purpose of this repo is to showcase the various ways I queried my ActivityWatch.
My goal is to generate a graph of the websites I go to the most similar to the 'Top Browser Domains' feature but like another person I can not get it working.. I look forward to whenever 0.12.0 get's released. To view the production jupyter notebook click here
- Domain Name Queries
- Extract all domain names and sort by most visited and then put on a bar graph
- Find number of unique domain names
- Find total number of websites visited
- Find most visited URLs
- Option to specify by site
- Time Based Queries
- Average number of events on weekdays verses weekend
- Total Duration per
- Total
- Bucket
- Website Domain Name
- App
- Number of events per hour visualized as a heatmap by month
The production notebook has the results of everything in the practice folder. To view it click here and here is a link to the actual notebook
Story of what is in the practice folder
First I coppiced the sqlite database from the data directory and played with it within QueryCrafting.ipynb and GraphingUp.ipynb. Inside QueryCrafting.ipynb I wrote and troubleshooted a query get all the domain names and group them distinctly. I then used the query from QueryCrafting.ipynb inside GraphingUp.ipynb to generate a graph using plotly.
While troubleshooting 'Top Browser Domains' feature I realized ActivityWatch has an API I can just strait up query rather than pulling from the sqlite file. So that's what I did in UsingAW-API.ipynb Turns out you can load the events strait into a pandas dataframe and play with it from there which I thought was pretty awesome.
- Python
- pip packages used
- pandas
- jupyterlab
- plotly
- ipython-sql
- Activity watch sqlite database
git clone https://github.com/dentropy/aw-experiments.git
cd aw-experiments
python3 -m venv env
source env/bin/activate
pip install -r ./requirements.txt
jupyter lab .
- Find most visited URLs
- Narrow by specific website
- Learn Querying Data