Skip to main content

Common interface to the WakaTime api.

Project description

Fully automatic time tracking for programmers.

This is the common interface for the WakaTime api. You shouldn’t need to directly use this package unless you are creating a new plugin or your text editor’s plugin asks you to install the wakatime cli interface.

Go to to install the plugin for your text editor.


Install the plugin for your IDE/editor at

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


Options can be passed via command line, or set in the $HOME/.wakatime.cfg config file. Command line arguments take precedence over config file settings. The $HOME/.wakatime.cfg file is in INI format. An example config file looks like:

debug = false
api_key = your-api-key
hidefilenames = false
exclude =
include =
offline = true
proxy = https://user:pass@localhost:8080


Each plugin should install wakatime for you, except for the Emacs WakaTime plugin. If your plugin does not install wakatime cli(this package), install it with:

pip install wakatime


WakaTime CLI writes errors to a common log file in your User $HOME directory:


Set debug=true in ~/.wakatime.cfg for more verbose logging, but don’t forget to set it back to debug=false afterwards or your editor might be laggy while waiting for wakatime cli to finish executing.

Each plugin also has it’s own log file for things outside of the common wakatime cli:

  • Atom writes errors to the developer console (View -> Developer -> Toggle Developer Tools)
  • Brackets errors go to the developer console (Debug -> Show Developer Tools)
  • 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…)
  • Xcode type sudo tail -f /var/log/system.log in a Terminal to view Xcode errors

Check that heartbeats are received by the WakaTime api with the last_heartbeat and last_plugin attributes from the current user api resource. Saving a file forces a heartbeat to be sent.


Before contributing a pull request, make sure tests pass:

virtualenv venv
. venv/bin/activate
pip install tox

Many thanks to all contributors!

Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
wakatime-4.1.5.tar.gz (1.7 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page