Giter Site home page Giter Site logo

nikanar / activitywatch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from activitywatch/activitywatch

0.0 2.0 0.0 532 KB

Log what you do on your computer. Simple (yet powerful), extensible, no third parties.

Home Page: http://activitywatch.net/

License: Mozilla Public License 2.0

Makefile 13.53% Shell 36.19% PowerShell 10.48% Batchfile 23.99% Python 15.80%

activitywatch's Introduction

Releases | Website | Documentation | GitHub | Twitter
Contributor statistics | Module statuses

Records what you do so that you can understand how you spend your time.
All in a secure way where you control the data.

Table of Contents

About

The goal of ActivityWatch is simple: Enable the collection of as much valuable lifedata as possible without compromising user privacy.

We've worked towards this goal by creating a application for safe storage of the data on the users local machine and as well as a set of watchers which record data such as:

  • Currently active application and the title of its window
  • Currently active browser tab and it's title and URL
  • Keyboard and mouse activity, to detect if you are afk or not

It is up to you as user to collect as much as you want, or as little as you want (and we hope some of you will help write watchers so we can collect more).

Note: ActivityWatch is under development. There is still work to be done so we provide it with no guarantees with the hope that others may wish to help and give their feedback!

You can read more on our website.

Screenshots

Is this yet another time tracker?

Yes, but we found that most time trackers lack in one or more important features.

Common dealbreakers:

  • Not open source
  • The user does not own the data (common with non-open source options)
  • Lack of synchronization (and when available: it's centralized and the sync server knows everything)
  • Difficult to setup/use (most open source options tend to target programmers)
  • Low data resolution (low level of detail, does not store raw data, long intevals between entries)
  • Hard or impossible to extend (collecting more data is not as simple as it could be)

To sum it up:

  • Closed source solutions suffer from privacy issues and limited features.
  • Open source solutions aren't developed with end-users in mind and are usually not written to be easily extended (they lack a proper API). They also lack synchronization.

We have a plan to address all of these and we're well on our way. See the table below for our progress.

Feature comparison

User owns data GUI Sync Open Source Platforms
ActivityWatch Decentralized (WIP) macOS, Linux, Windows, Android (WIP)
Selfspy macOS, Linux, Windows
ulogme macOS, Linux
RescueTime Centralized macOS, Linux, Windows, Android, iOS
WakaTime Centralized Client Most popular text editors

Tracking

Application Window Title AFK Browser Extensions Editor Plugins Extensible
ActivityWatch In Beta Possible
Selfspy ✅? ✅? ❌?
ulogme ✅? ❌? ❌?
RescueTime
WakaTime ✅, many Only for text editors

Installation & Usage

We're not there yet for end-users, however if you are a developer you may try the following:

# Ensure you have Python 3.5 or later installed
python3 -V

# Now you probably want to set up a virtualenv so we don't install everything system-wide.
sudo pip3 install virtualenv  # Assuming you don't already have it, you might want to use your systems package manager instead.
python3 -m venv venv
# Now you need to activate the virtualenv
# For bash/zsh users: source ./venv/bin/activate
# For fish users:     source ./venv/bin/activate.fish

# Now we build and install everything into the virtualenv.
make build

# Now you should be able to start ActivityWatch
# Either use the trayicon manager:
aw-qt
# Or run each module seperately:
aw-server
aw-watcher-afk
aw-watcher-window

# Now everything should be running!
# You can see your data at http://localhost:5600/

If anything doesn't work, let us know!

About this repository

This repo is a bundle of the core components and official modules of ActivityWatch (managed with git submodule). It's primary use is as a meta-package providing all the components in one repo; enabling easier packaging and installation. It is also where releases of the full suite are published (see releases).

Server

aw-server is the official implementation of the core service which the other activitywatch services interact with. It provides a datastore and serves the web interface developed in the aw-webui project (which provides the frontend part of the webapp).

The webapp includes basic data visualization (WIP), data browsing and export, and has a lot more planned for it.

Watchers

  • 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)

Libraries

  • aw-core - core library, provides no runnable modules
  • aw-client - client library, useful when writing watchers

Contributing

Want to help? Great! Check out the CONTRIBUTING.md file!

activitywatch's People

Contributors

erikbjare avatar exoji2e avatar johan-bjareholt avatar nikanar avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.