Skip to content

Commit

Permalink
Multiple changes, see commit description.
Browse files Browse the repository at this point in the history
 - Added donations badge to README
 - Created platforms table in README
 - Added collect_stats.py script
 - Fixed issue in logcrawler.py script
 - Updatd aw-watcher-afk and aw-watcher-web submodules
  • Loading branch information
ErikBjare committed Oct 23, 2017
1 parent efcc399 commit 364638b
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 20 deletions.
48 changes: 32 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<img title="ActivityWatch" src="docs/banner.png" align="center">

<p align="center">
<b>Records what you do</b> so that you can <i>understand how you spend your time</i>.
<b>Records what you do</b> so that you can <i>know how you've spent your time</i>.
<br>
All in a secure way where <i>you control the data</i>.
</p>
Expand Down Expand Up @@ -39,6 +39,9 @@
<a href="https://github.com/ActivityWatch/activitywatch/releases">
<img title="Total downloads (GitHub Releases)" src="https://img.shields.io/github/downloads/ActivityWatch/activitywatch/total.svg" />
</a>
<a href="https://activitywatch.net/donate/">
<img title="Donated" src="https://img.shields.io/badge/donations-%240%2Fmo-yellow.svg" />
</a>

<br>

Expand Down Expand Up @@ -132,23 +135,36 @@ We have a plan to address all of these and we're well on our way. See the table

<!-- TODO: Replace Platform names with icons -->

| | User owns data | GUI | Sync | Open Source | Platforms |
| ------------- |:------------------:|:------------------:|:------------------------:|:------------------:| ----------------------------------------- |
| ActivityWatch | :white_check_mark: | :white_check_mark: | ~~Decentralized~~ (WIP) | :white_check_mark: | macOS, Linux, Windows, ~~Android~~ (WIP) |
| Selfspy | :white_check_mark: | :x: | :x: | :white_check_mark: | macOS, Linux, Windows |
| ulogme | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | macOS, Linux |
| RescueTime | :x: | :white_check_mark: | Centralized | :x: | macOS, Linux, Windows, Android, iOS |
| WakaTime | :x: | :white_check_mark: | Centralized | Client | Most popular text editors |
| | User owns data | GUI | Sync | Open Source |
| ------------- |:------------------:|:------------------:|:--------------------------:|:------------------:|
| ActivityWatch | :white_check_mark: | :white_check_mark: | [WIP][sync], decentralized | :white_check_mark: |
| Selfspy | :white_check_mark: | :x: | :x: | :white_check_mark: |
| ulogme | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: |
| RescueTime | :x: | :white_check_mark: | Centralized | :x: |
| WakaTime | :x: | :white_check_mark: | Centralized | Clients |

[sync]: https://github.com/ActivityWatch/activitywatch/issues/35

**Platforms**

| | Windows | macOS | Linux | Android |
| ------------- |:------------------:|:------------------:|:------------------------:|:------------------:|
| ActivityWatch | :white_check_mark: | :white_check_mark: | :white_check_mark: | [WIP][android] |
| Selfspy | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: |
| ulogme | :white_check_mark: | :white_check_mark: | :x: | :x: |
| RescueTime | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |

[android]: https://github.com/ActivityWatch/activitywatch/issues/6

**Tracking**

| | Application | Window Title | AFK | Browser Extensions | Editor Plugins | Extensible |
| ------------- |:------------------:|:------------------:|:------------------:|:------------------:|:------------------------:|:---------------------:|
| ActivityWatch | :white_check_mark: | :white_check_mark: | :white_check_mark: | In Beta | Possible | :white_check_mark: |
| Selfspy | :white_check_mark: | :white_check_mark: | :white_check_mark:?| :x: | :white_check_mark:? | :x:? |
| ulogme | :white_check_mark: | :white_check_mark: | :white_check_mark:?| :x: | :x:? | :x:? |
| RescueTime | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :x: |
| WakaTime | :x: | :x: | :white_check_mark: | :x: | :white_check_mark:, many | Only for text editors |
| | App & Window Title | AFK | Browser Extensions | Editor Plugins | Extensible |
| ------------- |:------------------:|:------------------:|:------------------:|:------------------:|:---------------------:|
| ActivityWatch | :white_check_mark: | :white_check_mark: | :white_check_mark: | Possible | :white_check_mark: |
| Selfspy | :white_check_mark: | :white_check_mark: | :x: | :x: | :x: |
| ulogme | :white_check_mark: | :white_check_mark: | :x: | :x: | :x: |
| RescueTime | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :x: |
| WakaTime | :x: | :white_check_mark: | :x: | :white_check_mark: | Only for text editors |


### Installation & Usage
Expand All @@ -170,7 +186,7 @@ The webapp includes basic data visualization (WIP), data browsing and export, an

- `aw-watcher-afk` - can be used to log the presence/absence of user activity from keyboard and mouse input
- `aw-watcher-window` - can be used to log the currently active application and it's window title
- `aw-watcher-web` - (WIP) can be used to increase the logging detail when browsing the web by collecting the URLs and titles of tabs (your web history with superpowers)
- `aw-watcher-web` - can be used to increase the logging detail when browsing the web by collecting the URL and title of the active tab (your web history with superpowers)

### Libraries

Expand Down
2 changes: 1 addition & 1 deletion aw-watcher-afk
Submodule aw-watcher-afk updated 1 files
+12 −1 README.md
2 changes: 1 addition & 1 deletion aw-watcher-web
30 changes: 30 additions & 0 deletions scripts/collect_stats.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import re

import requests


def downloads():
r = requests.get("https://api.github.com/repos/ActivityWatch/activitywatch/releases")
d = r.json()

downloads = 0
for release in d:
print("Release: ", release["tag_name"])
for asset in release["assets"]:
platform = re.findall("(macos|darwin|linux|windows)", asset["name"])[0]
count = asset["download_count"]
print(" - {}: {}".format(platform, count))

downloads += asset["download_count"]

print("Total: ", downloads)


def stars():
r = requests.get("https://api.github.com/repos/ActivityWatch/activitywatch")
d = r.json()

print("Stars: ", d["stargazers_count"])

stars()
downloads()
3 changes: 1 addition & 2 deletions scripts/logcrawler.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ def line_age(line):
def main(exclude_testing: bool = False, limit_days: int = 10, limit_lines: int = 10):
file_lines = collect()

exclude_testing_logs = False
if exclude_testing_logs:
if exclude_testing:
keys = filter(lambda k: "testing" not in k, file_lines.keys())
file_lines = {key: file_lines[key] for key in keys}

Expand Down

0 comments on commit 364638b

Please sign in to comment.