ActivityWatch Logo
0.13

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
    • Where is my data stored?
    • 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?
  • History
    • Future
      • Building new types of privacy-aware services which require data collection
      • Ubiquitous recording for meaningful information about the past
  • 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
    • Querying Data
      • Writing a Query
      • Fetching Raw Events
    • Writing your first watcher in Python
      • Minimal client
      • Reference client
    • Writing your first watcher in Rust
      • Minimal client
      • Reference client
    • Extending ActivityWatch
      • Collecting more data
      • Fetching Data
  • Querying Data
    • Writing a Query
    • Fetching Raw Events
  • Writing your first watcher in Python
    • Minimal client
    • Reference client
  • Writing your first watcher in Rust
    • Minimal client
    • Reference client
  • Extending ActivityWatch
    • Collecting more data
    • Fetching Data
  • API Reference
    • API Reference (Python)
      • aw_core
        • aw_core.models
        • aw_core.log
        • aw_core.dirs
      • aw_client
      • aw_transform
      • aw_query
      • aw_server
        • 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?
  • Privacy Policy
    • Introduction
    • Data Collected
    • Analytics
    • Software Updates
    • Data Protection
    • Third-party Links
  • 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
  • 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
  • Overview: module code

All modules for which code is available

  • aw_client.client
  • aw_core.dirs
  • aw_core.log
  • aw_core.models
  • aw_query.functions
  • aw_query.query2
  • aw_server.api
  • aw_server.main
  • aw_transform.chunk_events_by_key
  • aw_transform.classify
  • aw_transform.filter_keyvals
  • aw_transform.filter_period_intersect
  • aw_transform.flood
  • aw_transform.heartbeats
  • aw_transform.merge_events_by_keys
  • aw_transform.simplify
  • aw_transform.sort_by
  • aw_transform.split_url_events
  • aw_transform.union_no_overlap

© Copyright 2016-2025 ActivityWatch core contributors.

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