https://github.com/activitywatch/aw-client

Client library for ActivityWatch

https://github.com/activitywatch/aw-client

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 14 committers (7.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.3%) to scientific vocabulary

Keywords

activitywatch client library python

Keywords from Contributors

time-tracker timetracker webui quantified-self afk productivity active-window activitywatch-watcher
Last synced: 5 months ago · JSON representation

Repository

Client library for ActivityWatch

Basic Info
  • Host: GitHub
  • Owner: ActivityWatch
  • License: mpl-2.0
  • Language: Python
  • Default Branch: master
  • Size: 519 KB
Statistics
  • Stars: 55
  • Watchers: 4
  • Forks: 48
  • Open Issues: 16
  • Releases: 1
Topics
activitywatch client library python
Created almost 10 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

aw-client

GitHub Actions badge PyPI Code style: black Typechecking: Mypy

Client library for ActivityWatch in Python.

Please see the documentation for usage, and take a look at examples/.

How to install

Install from pip: pip install aw-client

Install the latest version directly from github without cloning: pip install git+https://github.com/ActivityWatch/aw-client.git

To install from a cloned version:

  • clone repo: git clone https://github.com/ActivityWatch/aw-client.git
  • cd into the directory: cd aw-client
  • run poetry install (will create a virtualenv, if none activated)
    • If you don't want to use poetry you can also use pip install ., but that might not get the exact version of the dependencies (due to not reading the poetry.lock file).

Usage

For the CLI:

``` $ aw-client --help Usage: aw-client [OPTIONS] COMMAND [ARGS]...

CLI utility for aw-client to aid in interacting with the ActivityWatch server

Options: --host TEXT Address of host --port INTEGER Port to use -v, --verbose Verbosity --testing Set to use testing ports by default --help Show this message and exit.

Commands: buckets List all buckets canonical Query 'canonical events' for a single host (filtered,... events Query events from bucket with ID bucket_id heartbeat Send a heartbeat to bucket with ID bucket_id with JSON data query Run a query in file at path on the server report Generate an activity report ```

Debugging

  • Run python with LOG_LEVEL=debug to get additional debugging output
  • If invalid events have been queued for submission, you may need to delete the file-based queues generated by this library
  • To use the development version of this library use aw-client = {path = "../aw-client" } in pyproject.toml

Examples

The examples/ directory contains a couple of example scripts, including:

  • time_spent_today.py - fetches all non-afk events and sums their duration to get the total active time for the day.
  • working_hours.py - computes hours worked per day (matching a "work" category rule), and exports matching events to a JSON file (for auditing).
  • load_dataframe.py - loads events from a host using a categorizing & AFK-filtering query, put result in a pandas dataframe, and export as CSV.
  • merge_buckets.py - merges two buckets with non-intersecting events by moving all events from one into the other.
  • redact_sensitive.py - redact sensitive events.

Owner

  • Name: ActivityWatch
  • Login: ActivityWatch
  • Kind: organization

Open source time-tracking application with a focus on extensibility and privacy.

GitHub Events

Total
  • Issues event: 4
  • Watch event: 12
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 9
  • Pull request review comment event: 3
  • Pull request review event: 6
  • Pull request event: 7
  • Fork event: 6
  • Create event: 3
Last Year
  • Issues event: 4
  • Watch event: 12
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 9
  • Pull request review comment event: 3
  • Pull request review event: 6
  • Pull request event: 7
  • Fork event: 6
  • Create event: 3

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 313
  • Total Committers: 14
  • Avg Commits per committer: 22.357
  • Development Distribution Score (DDS): 0.217
Past Year
  • Commits: 19
  • Committers: 3
  • Avg Commits per committer: 6.333
  • Development Distribution Score (DDS): 0.158
Top Committers
Name Email Commits
Erik Bjäreholt e****k@b****t 245
Johan Bjäreholt j****n@b****t 54
Michael Bianco i****y@g****m 2
Brayo 6****p 2
yumemio 5****o 1
pylipp p****r@t****e 1
lgtm-com[bot] 4****] 1
huantian d****i@g****m 1
Weiji Xie 8****l 1
Victor Winberg v****g@g****m 1
Victor Lin 1****n 1
Nicolai Weitkemper n****o@g****m 1
Justin Davis j****2@g****m 1
Jacob Steele j****e@j****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 23
  • Total pull requests: 71
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 12
  • Total pull request authors: 23
  • Average comments per issue: 1.52
  • Average comments per pull request: 1.48
  • Merged pull requests: 54
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 3
  • Pull requests: 6
  • Average time to close issues: 29 minutes
  • Average time to close pull requests: about 1 month
  • Issue authors: 3
  • Pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.17
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ErikBjare (8)
  • johan-bjareholt (4)
  • Otto-AA (2)
  • nikanar (1)
  • wojnilowicz (1)
  • justUmen (1)
  • xeruf (1)
  • Jackenmen (1)
  • ShootingKing-AM (1)
  • skewballfox (1)
  • 0xbrayo (1)
  • JSteeleIR (1)
Pull Request Authors
  • ErikBjare (35)
  • johan-bjareholt (14)
  • brayo-pip (6)
  • iloveitaly (2)
  • Shi-Soul (2)
  • Vinfall (2)
  • JSteeleIR (1)
  • VictorWinberg (1)
  • hooger (1)
  • JustinDDavis (1)
  • Jackenmen (1)
  • pylipp (1)
  • victorlin (1)
  • mkvoya (1)
  • leoschwarz (1)
Top Labels
Issue Labels
enhancement (3)
Pull Request Labels
review (2) dependencies (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 3,867 last-month
  • Total dependent packages: 4
  • Total dependent repositories: 29
  • Total versions: 14
  • Total maintainers: 2
pypi.org: aw-client

Client library for ActivityWatch

  • Versions: 14
  • Dependent Packages: 4
  • Dependent Repositories: 29
  • Downloads: 3,867 Last month
Rankings
Dependent packages count: 2.4%
Dependent repos count: 2.7%
Average: 6.1%
Forks count: 6.3%
Downloads: 8.2%
Stargazers count: 11.0%
Maintainers (2)
Last synced: 6 months ago

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/codeql.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/examples.yml actions
  • ActivityWatch/setup-action master composite
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/lint.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • psf/black stable composite
poetry.lock pypi
  • astroid 2.13.2 develop
  • black 22.12.0 develop
  • coverage 7.0.5 develop
  • dill 0.3.6 develop
  • exceptiongroup 1.1.0 develop
  • iniconfig 2.0.0 develop
  • isort 5.11.4 develop
  • lazy-object-proxy 1.9.0 develop
  • mccabe 0.7.0 develop
  • mypy 0.991 develop
  • mypy-extensions 0.4.3 develop
  • pathspec 0.10.3 develop
  • platformdirs 2.6.2 develop
  • pluggy 1.0.0 develop
  • pylint 2.15.10 develop
  • pytest 7.2.0 develop
  • pytest-cov 4.0.0 develop
  • pyupgrade 2.38.4 develop
  • tokenize-rt 4.2.1 develop
  • tomli 2.0.1 develop
  • types-requests 2.28.11.7 develop
  • types-tabulate 0.9.0.0 develop
  • types-urllib3 1.26.25.4 develop
  • wrapt 1.14.1 develop
  • appdirs 1.4.4
  • attrs 22.2.0
  • aw-core 0.5.11
  • certifi 2022.12.7
  • charset-normalizer 2.1.1
  • click 8.1.3
  • colorama 0.4.6
  • deprecation 2.1.0
  • idna 3.4
  • importlib-resources 5.10.2
  • iso8601 1.1.0
  • jsonschema 4.17.3
  • packaging 23.0
  • peewee 3.15.4
  • persist-queue 0.8.0
  • pkgutil-resolve-name 1.3.10
  • pyrsistent 0.19.3
  • python-json-logger 2.0.4
  • requests 2.28.1
  • rfc3339-validator 0.1.4
  • six 1.16.0
  • strict-rfc3339 0.7
  • tabulate 0.9.0
  • takethetime 0.3.1
  • timeslot 0.1.2
  • tomlkit 0.11.6
  • typing-extensions 4.4.0
  • urllib3 1.26.14
  • zipp 3.11.0
pyproject.toml pypi
  • black ^22.3.0 develop
  • mypy * develop
  • pylint * develop
  • pytest ^7.0 develop
  • pytest-cov * develop
  • pyupgrade ^2.32.1 develop
  • types-requests * develop
  • types-tabulate * develop
  • aw-core ^0.5.7
  • click ^8.0
  • persist-queue *
  • python ^3.8
  • requests *
  • tabulate *
  • typing-extensions *