# Install watson with Homebrew, MacPorts, Nix, zypper

Command-line tool to track (your) time. Version 2.1.0 via Homebrew; verified 2026-05-15.

## Install

```sh
sudo av install brew:watson
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install watson
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install watson
```

  Evidence: MacPorts ports tree: office/watson/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#watson
```

  Evidence: nixpkgs package indexes: pkgs/by-name/wa/watson/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install watson
```

  Evidence: openSUSE Tumbleweed package metadata: watson from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:watson
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/watson>
- **Version:** 2.1.0
- **Source summary:** Command-line tool to track (your) time
- **Homepage:** <https://jazzband.github.io/Watson/>
- **Repository:** <https://github.com/jazzband/Watson>
- **Upstream docs:** <https://jazzband.github.io/Watson>
- **License:** MIT
- **Source archive:** <https://files.pythonhosted.org/packages/a9/61/868892a19ad9f7e74f9821c259702c3630138ece45bab271e876b24bb381/td-watson-2.1.0.tar.gz>
- **Last updated:** 2026-05-15T11:13:55Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- watson (cli)
- watson (alias)

## Dependencies

- certifi
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.1.0
- Package-manager updated: 2026-05-15
- Local data: ok
- Upstream repository: https://jazzband.github.io/Watson/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Watson is a Python command-line time tracker for people who want project and tag based time logs without leaving the terminal. Its unit of work is a frame: start a project with tags, stop it later, and use log/report commands to inspect the resulting sessions.

### Project history

Watson's changelog records a first stable public release, 1.0.0, on September 17, 2015. Through 2016 the project added Bash completion, frame IDs, restart and merge commands, daily log summaries, browsable documentation, directory overrides, a logo, Arch Linux documentation, Homebrew documentation, year/month/week/day reporting options, zsh completion, default tags, and safer backup behavior when saving state.

The 2017-2022 changelog shows a steady CLI-maintenance arc: JSON report output, compatibility with a new crick.io sync backend, Python 3.6/3.7/3.8/3.9 support, an `add` command, fish completion, CSV output, typo suggestions, reverse log ordering, time-zone support through TZ, removal of Python 2.7 and 3.5 in the 2.0 release, and Click 8 compatibility in 2.1.0. The GitHub repository now lives under Jazzband; a 2024 Jazzband bot issue tracks implementing Jazzband guidelines after the transfer.

### Adoption history

Watson is not a corporate time-tracking platform; its adoption is in the terminal productivity niche. The GitHub page reports about 2.5 thousand stars and hundreds of forks, the documentation points to pip and Homebrew installation, and the command set favors local control: data is stored on the user's computer, with optional sync to a crick server for people who want remote storage or sharing.

### How it is used

The canonical flow is `watson start project +tag`, work for a while, then `watson stop`. Users inspect sessions with `watson log`, generate summaries with report-style commands, filter by project, tag, and dates, and use shell completions for known commands, projects, tags, and frame IDs.

In package-nerd terms, Watson appeals to users who prefer plain CLI state over a hosted UI: a local Python tool, simple commands, shell completion, JSON/CSV output history, and enough filtering to build reports for clients, invoices, retrospectives, or personal accounting.

### Why package nerds care

Watson is significant as a small example of the Unixy personal-productivity tool: text-command interaction, local data, project/tag taxonomy, and scriptable output. It belongs in the same mental shelf as Timewarrior and other personal time trackers, but with a Python ecosystem flavor and a simple frame model.

### Timeline

- 2015-09-17: Watson 1.0.0 is released as the first stable public release.
- 2016-01-22: 1.2.0 adds restart and merge commands plus daily log summaries.
- 2016-11-01: 1.4.0 adds rename, period reporting options, zsh completion, default tags, and Homebrew documentation.
- 2019-08-26: 1.8.0 adds CSV output for report, log, and aggregate commands.
- 2021-03-19: 2.0.0 adds Python 3.8/3.9 support, TZ support, and removes Python 2.7 support.
- 2022-05-16: 2.1.0 adds restart gap options and Click 8 compatibility.
- 2024-08-26: Jazzband opens an issue to implement Jazzband project guidelines for Watson.

### Related projects

- Related projects include Timewarrior, ActivityWatch, Hamster-style time trackers, crick for Watson sync, shell completion systems, and personal reporting scripts that consume Watson's logged frames.

### Sources

- <https://github.com/jazzband/Watson>
- <https://github.com/jazzband/Watson/issues/509>
- <https://jazzband.github.io/Watson/>
- <https://raw.githubusercontent.com/jazzband/Watson/master/CHANGELOG.md>
- <https://raw.githubusercontent.com/jazzband/Watson/master/README.rst>


## Security Notes

No matching local secret-handling manifest was found for watson. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Linux: ~/.config/watson/config
- macOS: ~/Library/Application Support/watson/config
- Windows: %appdata%\watson\config, C:\Users\<user>\AppData\Roaming\watson\config

## Credential files

- Linux: ~/.config/watson/config
- macOS: ~/Library/Application Support/watson/config
- Windows: %appdata%\watson\config, C:\Users\<user>\AppData\Roaming\watson\config
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** watson
- **Version Scheme:** 0
- **Revision:** 12
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - watson: normalized package name match | nixpkgs package indexes: pkgs/by-name/wa/watson/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- zypper - watson - 2.1.0-1.11: normalized package name match | openSUSE Tumbleweed package metadata: watson from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | CLI time tracker | https://github.com/TailorDev/Watson
- zypper - watson-bash-completion - 2.1.0-1.11: normalized package name match | openSUSE Tumbleweed package metadata: watson-bash-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Bash completion for watson | https://github.com/TailorDev/Watson
- zypper - watson-fish-completion - 2.1.0-1.11: normalized package name match | openSUSE Tumbleweed package metadata: watson-fish-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Fish completion for watson | https://github.com/TailorDev/Watson
- zypper - watson-zsh-completion - 2.1.0-1.11: normalized package name match | openSUSE Tumbleweed package metadata: watson-zsh-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Zsh completion for watson | https://github.com/TailorDev/Watson
- MacPorts - watson: normalized package name match | MacPorts ports tree: office/watson/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [klog](https://www.automicvault.com/pkg/brew/klog/) - Shares av.db curated category or tags: cli, productivity, time-tracking.
- [timewarrior](https://www.automicvault.com/pkg/brew/timewarrior/) - Shares av.db curated category or tags: cli, productivity, time-tracking.
- [tock](https://www.automicvault.com/pkg/brew/tock/) - Shares av.db curated category or tags: cli, productivity, time-tracking.
- [cookcli](https://www.automicvault.com/pkg/brew/cookcli/) - Shares av.db curated category or tags: cli, productivity.
- [gcalcli](https://www.automicvault.com/pkg/brew/gcalcli/) - Shares av.db curated category or tags: cli, productivity, python.
- [gdrive](https://www.automicvault.com/pkg/brew/gdrive/) - Shares av.db curated category or tags: cli, productivity.
- [utimer](https://www.automicvault.com/pkg/brew/utimer/) - Shares av.db curated category or tags: cli, productivity, time-tracking.
- [acronym](https://www.automicvault.com/pkg/brew/acronym/) - Shares av.db curated category or tags: cli, productivity, python.

## Combined YAML source

View the package source record on GitHub. [combined/watson.yml](https://github.com/automic-vault/db/blob/main/combined/watson.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
