Awesome Open Source
Awesome Open Source

.. image:: :target: :alt: Tests

.. image:: :target: :alt: Windows Tests

.. image:: :target: :alt: Coverage

.. image:: :target: :alt: Version

.. image:: :target: :alt: Supported Python Versions

.. image:: :target: :alt: Code time tracker


Command line interface to WakaTime <>_ used by all WakaTime text editor plugins <>_.

Go to to install the plugin for your text editor or IDE.


Note: You shouldn't need to directly use this package unless you are building your own plugin <>_ or your text editor's plugin asks you to install the WakaTime CLI manually.

Each plugin <>_ installs the WakaTime CLI for you, except for the Emacs WakaTime plugin <>_.

Install the plugin for your IDE/editor:

Each plugin either comes pre-bundled with WakaTime CLI, or downloads the latest version from GitHub for you.


If you are building a plugin using the WakaTime API <>_ then follow the Creating a Plugin <>_ guide.

For command line options, run wakatime --help.

Some more usage information is available in the FAQ <>_.


Options can be passed via command line, or set in the $WAKATIME_HOME/.wakatime.cfg config file. Command line arguments take precedence over config file settings. The $WAKATIME_HOME/.wakatime.cfg file is in INI <>_ format. An example config file with all available options::

debug = false
api_key = your-api-key
hide_file_names = false
hide_project_names = false
hide_branch_names =
exclude =
include =
include_only_with_project_file = false
status_bar_icon = true
status_bar_coding_activity = true
offline = true
proxy = https://user:[email protected]:8080
no_ssl_verify = false
ssl_certs_file =
timeout = 30
hostname = machinename
projects/foo = new project name
^/home/user/projects/bar(\d+)/ = project{0}
disable_submodules = false

For commonly used configuration options, see examples in the FAQ <>_.


Read How to debug the plugins <>_.

Make sure to set debug=true in your ~/.wakatime.cfg file.

Common log file location in your User $WAKATIME_HOME directory::


Each plugin also has its own log file:

  • Atom writes errors to the developer console (View -> Developer -> Toggle Developer Tools)
  • Brackets errors go to the developer console (Debug -> Show Developer Tools)
  • Cloud9 logs to the browser console (View -> Developer -> JavaScript Console)
  • Coda logs to /var/log/system.log so use sudo tail -f /var/log/system.log in Terminal to watch Coda 2 logs
  • Eclipse logs can be found in the Eclipse Error Log (Window -> Show View -> Error Log)
  • Emacs messages go to the messages buffer window
  • Jetbrains IDEs (IntelliJ IDEA, PyCharm, RubyMine, PhpStorm, AppCode, AndroidStudio, WebStorm) log to idea.log (locating IDE log files <>_)
  • Komodo logs are written to pystderr.log (Help -> Troubleshooting -> View Log File)
  • Netbeans logs to it's own log file (View -> IDE Log)
  • Notepad++ errors go to AppData\Roaming\Notepad++\plugins\config\WakaTime.log (this file is only created when an error occurs)
  • Sublime Text logs to the Sublime Console (View -> Show Console)
  • TextMate logs to stderr so run TextMate from Terminal to see any errors (enable logging <>_)
  • Vim errors get displayed in the status line or inline (use :redraw! to clear inline errors)
  • Visual Studio logs to the Output window, but uncaught exceptions go to ActivityLog.xml (more info... <>_)
  • VS Code logs to the developer console (Help -> Toggle Developer Tools)
  • Xcode type sudo tail -f /var/log/system.log in a Terminal to view Xcode errors

Useful API Endpoints:

  • List of Plugins and when they were last heard from <>_
  • List of computers last sending coding activity <>_

Useful Resources:

  • More Troubleshooting Info <>_
  • Official API Docs <>_


To install the dev environment::

virtualenv venv
. venv/bin/activate
pip install -r dev-requirements.txt
pip install tox

Before contributing a pull request, make sure tests pass::


The above will run tests on all Python versions available on your machine. To just run all tests with your current Python version::


To run only a single test method, specify the test file location, test class, and test method. For example, to only run the Git project detection test::

nosetests tests.test_project:ProjectTestCase.test_git_project_detected

Many thanks to all contributors <>_!

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (51,042
metrics (330
analytics (310
time-tracker (34

Find Open Source By Browsing 7,000 Topics Across 59 Categories