ActivityWatch Logo

User documentation

  • Introduction
    • What is ActivityWatch?
    • Reason for existence
    • Data philosophy
  • Getting started
    • Installation
    • Usage
    • Autostart
  • Configuration
    • aw-server-python
    • aw-server-rust
    • aw-client
    • aw-watcher-afk
    • aw-watcher-window
  • Directories
    • Data
    • Config
    • Logs
    • Cache
  • Features
    • User Interface
      • Web Interface
      • Tray icon
    • Exporting data
    • Pausing logging
    • Filtering data
    • Categorization
      • Adding and editing categories
      • Rules
        • Regular expressions (RegEx)
        • No rule
    • Syncing
      • Old syncing prototype
  • Watchers
    • Window watchers
    • Browser watchers
    • Editor watchers
    • Media watchers
    • Other watchers
    • Importers
    • Custom visualizations
    • Custom watchers
  • FAQ
    • General
      • What is ActivityWatch?
      • Is ActivityWatch really free?
      • What platforms does ActivityWatch support?
      • Does ActivityWatch track my data privately?
      • Where is my data stored?
      • How does ActivityWatch compare to RescueTime?
      • Can I extend ActivityWatch with custom tracking?
    • Technical
      • How do I interpret the raw data?
      • How can I use ActivityWatch with my own code?
      • How does ActivityWatch know when I am AFK?
      • Why is the active window logged as “unknown” when using Wayland?
      • How accurate is ActivityWatch?
      • What happens if it is down or crashes?
      • Some events have 0 duration. What does this mean?
  • Syncing
    • How to set up syncing
  • Migrating
    • Migrating to aw-server-rust
      • Using aw-server-rust by default
      • Importing from aw-server-python
    • Database schema migrations
  • Running on GNOME
  • Remote server
    • But then how do I get all my data in one place?
    • I know what I’m doing, how can I set it up anyway?
      • SSH tunnel
      • Opening the server to the network
    • Previous discussions
  • Updating
    • macOS
  • Uninstalling
    • Removing data

Developer documentation

  • Installing from source
    • Cloning the repository and submodules
    • Checking dependencies
    • Using a virtualenv
    • Building and installing
    • Running
    • Updating from source
    • Packaging your changes
  • CLI Usage
    • aw-client
    • Not yet documented
  • Architecture
    • Dependency graph
    • Server
    • Clients (watchers, importers, and observers)
    • User interfaces
    • Libraries
      • aw-core
      • aw-client
      • aw-analysis
  • Data model
    • Buckets
    • Events
      • Heartbeats
      • Event types
        • web.tab.current
        • app.editor.activity
        • currentwindow
        • afkstatus
  • Examples
    • Getting Your Data Out
      • Working with ActivityWatch Data
        • Getting Started: Canonical Events
        • Comprehensive Examples
        • Custom Queries
        • Raw Events (Advanced)
        • Exporting Data
        • API Reference
    • Writing Your Own Watchers
      • Writing your first watcher in Python
        • Minimal client
        • Reference client
      • Writing your first watcher in Rust
        • Minimal client
        • Reference client
    • Example Code Repository
  • API Reference
    • API Reference (Python)
      • aw_core
        • Event
        • aw_core.models
        • aw_core.log
        • aw_core.dirs
      • aw_client
        • ActivityWatchClient
      • aw_transform
        • Rule
        • categorize()
        • chunk_events_by_key()
        • concat()
        • filter_keyvals()
        • filter_keyvals_regex()
        • filter_period_intersect()
        • flood()
        • heartbeat_merge()
        • heartbeat_reduce()
        • limit_events()
        • merge_events_by_keys()
        • period_union()
        • simplify_string()
        • sort_by_duration()
        • sort_by_timestamp()
        • split_url_events()
        • sum_durations()
        • tag()
        • union()
        • union_no_overlap()
      • aw_query
        • query()
        • q2_categorize()
        • q2_chunk_events_by_key()
        • q2_concat()
        • q2_exclude_keyvals()
        • q2_filter_keyvals()
        • q2_filter_keyvals_regex()
        • q2_filter_period_intersect()
        • q2_find_bucket()
        • q2_flood()
        • q2_limit_events()
        • q2_merge_events_by_keys()
        • q2_nop()
        • q2_period_union()
        • q2_query_bucket()
        • q2_query_bucket_eventcount()
        • q2_simplify_window_titles()
        • q2_sort_by_duration()
        • q2_sort_by_timestamp()
        • q2_split_url_events()
        • q2_sum_durations()
        • q2_tag()
        • q2_union_no_overlap()
      • aw_server
        • main()
        • aw_server.api
    • REST API
      • REST Security
      • REST Reference
        • Buckets API
        • Events API
        • Heartbeat API
        • Query API
  • Security
    • ActivityWatch is only as secure as your system
    • Deleting sensitive data
    • Encrypting data
    • Reproducible builds
    • CORS configuration
    • More?
  • Server comparison
  • Development Process
    • Working with submodules
    • Making a release
  • Forking ActivityWatch
    • Working with a fork
      • Building on macOS
      • Updating media files
    • Examples of forks

Meta

  • Privacy Policy
    • Introduction
    • Data Collected
    • Analytics
    • Software Updates
    • Data Protection
    • Third-party Links
  • History
    • Future
      • Building new types of privacy-aware services which require data collection
      • Ubiquitous recording for meaningful information about the past
  • Changelog
    • v0.11.0
      • Summary
      • activitywatch (bundle repo)
      • aw-webui
        • ✨ Features (26)
      • aw-client
        • ✨ Features (5)
      • aw-core
        • ✨ Features (2)
      • aw-qt
        • ✨ Features (1)
      • aw-server
        • ✨ Features (1)
      • aw-server-rust
        • ✨ Features (10)
      • aw-watcher-afk
        • ✨ Features (2)
      • aw-watcher-window
        • ✨ Features (1)
    • v0.10.0
      • Summary
      • activitywatch (bundle repo)
        • ✨ Features (1)
      • aw-webui
        • ✨ Features (22)
      • aw-qt
        • ✨ Features (1)
      • aw-server
      • aw-server-rust
      • aw-watcher-afk
      • aw-watcher-window
      • aw-client
        • ✨ Features (2)
      • aw-core
        • ✨ Features (1)
      • media
    • v0.9.0
    • v0.8.4
    • v0.8.3
    • v0.8.2
    • v0.8.1
    • v0.8.0b9
    • v0.8.0b8
    • v0.8.0b7
    • v0.8.0b2 - v0.8.0b6
    • v0.8.0b1
    • v0.7.1
    • v0.7.0b4
    • v0.7.0b3
    • v0.7.0b2
    • v0.7.0b1
    • v0.6.0 and older
ActivityWatch
  • Python Module Index

Python Module Index

a
 
a
aw_client
- aw_core
    aw_core.dirs
    aw_core.log
    aw_core.models
- aw_query
    aw_query.functions
- aw_server
    aw_server.api
aw_transform

© Copyright 2016-2026 ActivityWatch core contributors.

Built with Sphinx using a theme provided by Read the Docs.