Skip to content
⌚️ A wonderful CLI to track your time!
Python Shell Makefile
Branch: master
Clone or download
rbialon and jmaupetit Use Arrows for_json for JSON output
Arrow provides a `for_json()` function encoding Arrow objects for JSON
output. Using the default-parameter of `json.dumps()`, this function is
invoked on Arrow objects which can then be encoded for JSON output.

Reference PR: #330 

Fix #329
Latest commit f46a6ae Oct 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Stylize prompt for new project and tags (#310) Sep 9, 2019
scripts Fix fatal AttributeError using Arrow 0.14.5 (#300) Aug 20, 2019
tests Use Arrows for_json for JSON output Oct 16, 2019
watson Use Arrows for_json for JSON output Oct 16, 2019
.gitignore Add date validation to the edit command Jun 26, 2018
.travis.yml Drop Python 3.4 support (#286) Jun 12, 2019 Use Arrows for_json for JSON output Oct 16, 2019 Fix typos Jan 28, 2016
LICENSE Add MIT license Mar 20, 2015 Fix typos in Nov 1, 2016
Makefile Set WATSON_DIR on virtualenv activation in fish script and mention `a… Sep 2, 2019
mkdocs.yml Fix documentation generation with Python 3.7 (#304) Aug 27, 2019
requirements-dev.txt Fix documentation generation with Python 3.7 (#304) Aug 27, 2019
requirements.txt Enable git-like did-you-mean feature (#318) Oct 1, 2019
setup.cfg Integrate pytest with setuptools Jan 20, 2016
tox.ini Drop Python 3.4 support (#286) Jun 12, 2019
watson.completion docs: add documentation and completion for --luna Jul 30, 2018 Update fish completions (#295) Jul 15, 2019
watson.zsh-completion Fix zsh completion file Mar 26, 2019


Build Status PyPI Latest Version Requirements Status

Watson is here to help you manage your time. You want to know how much time you are spending on your projects? You want to generate a nice report for your client? Watson is here for you.

Wanna know what it looks like? Check this below.

Watson screenshot

Nice isn't it?

Quick start


On OS X, the easiest way to install watson is using Homebrew:

$ brew update && brew install watson

On other platforms, install watson using pip:

$ pip install td-watson

If you need more details about installing watson, please refer to the documentation.


Start tracking your activity via:

$ watson start world-domination +cats

With this command, you have started a new frame for the world-domination project with the cats tag. That's it.

Now stop tracking you world domination plan via:

$ watson stop
Project world-domination [cats] started 8 minutes ago (2016.01.27 13:00:28+0100)

You can log your latest working sessions (aka frames) thanks to the log command:

$ watson log
Tuesday 26 January 2016 (8m 32s)
      ffb2a4c  13:00 to 13:08      08m 32s   world-domination  [cats]

Please note that, as the report command, the log command comes with projects, tags and dates filtering.

To list all available commands, either read the documentation or use:

$ watson help

Contributor Code of Conduct

If you want to contribute to this project, please read the project Contributor Code of Conduct


Watson is released under the MIT License. See the bundled LICENSE file for details.

You can’t perform that action at this time.