2013-09-05 05:30:09 +00:00
WakaTime
========
2013-07-06 07:51:09 +00:00
2015-08-11 18:52:43 +00:00
.. image :: https://travis-ci.org/wakatime/wakatime.svg
:target: https://travis-ci.org/wakatime/wakatime
2016-04-18 22:15:55 +00:00
:alt: Tests
2015-08-11 18:52:43 +00:00
2015-08-13 19:57:38 +00:00
.. image :: https://coveralls.io/repos/wakatime/wakatime/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/wakatime/wakatime?branch=master
2016-04-18 22:15:55 +00:00
:alt: Coverage
2015-08-13 19:57:38 +00:00
2016-04-18 18:27:40 +00:00
.. image :: https://badge.fury.io/py/wakatime.svg
2016-04-18 18:42:45 +00:00
:target: https://pypi.python.org/pypi/wakatime
2016-04-18 22:15:55 +00:00
:alt: Version
2016-04-18 18:42:45 +00:00
2016-04-18 22:17:25 +00:00
.. image :: https://gemnasium.com/badges/github.com/wakatime/wakatime.svg
:target: https://gemnasium.com/github.com/wakatime/wakatime
:alt: Dependencies
2016-04-18 18:42:45 +00:00
.. image :: https://wakaslack.herokuapp.com/badge.svg
:target: https://wakaslack.herokuapp.com
2016-04-18 22:15:55 +00:00
:alt: Slack
2016-04-18 18:27:40 +00:00
2015-09-29 23:01:31 +00:00
Command line interface to `WakaTime <https://wakatime.com/> `_ used by all WakaTime `text editor plugins <https://wakatime.com/editors> `_ .
2013-12-13 15:15:41 +00:00
2015-09-29 23:01:11 +00:00
Go to http://wakatime.com/editors to install the plugin for your text editor or IDE.
2013-07-06 07:51:09 +00:00
2016-04-18 22:33:18 +00:00
Installation
------------
2017-02-16 01:35:30 +00:00
Note: You shouldn't need to directly use this package unless you are `building your own plugin <https://wakatime.com/help/misc/creating-plugin> `_ or your text editor's plugin asks you to install the WakaTime CLI manually.
Each `plugin <https://wakatime.com/editors> `_ installs the WakaTime CLI for you, except for the `Emacs WakaTime plugin <https://github.com/wakatime/wakatime-mode> `_ .
2016-04-18 22:34:29 +00:00
2017-02-16 01:35:30 +00:00
Install the plugin for your IDE/editor:
https://wakatime.com/editors
2016-04-18 22:34:29 +00:00
2017-02-16 01:38:26 +00:00
Each plugin either comes pre-bundled with WakaTime CLI, or downloads the latest version from GitHub for you.
2016-04-18 22:33:18 +00:00
2015-02-13 02:36:14 +00:00
Usage
-----
2013-07-06 07:51:09 +00:00
2015-02-13 02:46:53 +00:00
If you are building a plugin using the `WakaTime API <https://wakatime.com/developers/> `_
then follow the `Creating a Plugin <https://wakatime.com/help/misc/creating-plugin> `_
2015-03-09 22:13:17 +00:00
guide.
2014-03-12 23:21:22 +00:00
2016-04-18 22:32:36 +00:00
For command line options, run `` wakatime --help `` .
2017-02-16 01:35:30 +00:00
Some more usage information is available in the `FAQ <https://wakatime.com/faq> `_ .
2014-03-12 23:21:22 +00:00
2015-02-13 02:36:14 +00:00
Configuring
-----------
2017-01-30 19:39:00 +00:00
Options can be passed via command line, or set in the `` $WAKATIME_HOME/.wakatime.cfg ``
2015-02-13 02:36:14 +00:00
config file. Command line arguments take precedence over config file settings.
2017-01-30 19:39:00 +00:00
The `` $WAKATIME_HOME/.wakatime.cfg `` file is in `INI <http://en.wikipedia.org/wiki/INI_file> `_
2016-07-06 07:39:26 +00:00
format. An example config file with all available options::
2015-08-11 17:38:01 +00:00
2015-02-13 02:41:35 +00:00
[settings]
debug = false
2017-05-06 00:24:10 +00:00
api_key = your-api-key
2015-02-13 02:41:35 +00:00
hidefilenames = false
2015-02-20 20:41:45 +00:00
exclude =
2015-02-13 02:41:35 +00:00
^COMMIT_EDITMSG$
^TAG_EDITMSG$
2017-04-12 14:57:48 +00:00
^/var/(?!www/).*
2015-02-13 02:41:35 +00:00
^/etc/
2015-02-20 20:41:45 +00:00
include =
.*
2015-02-13 02:41:35 +00:00
offline = true
proxy = https://user:pass@localhost:8080
2017-05-06 00:24:10 +00:00
no_ssl_verify = false
2015-09-16 18:24:18 +00:00
timeout = 30
2016-07-06 07:39:56 +00:00
hostname = machinename
2016-04-18 22:50:27 +00:00
[projectmap]
2016-07-06 07:39:26 +00:00
projects/foo = new project name
^/home/user/projects/bar(\d+)/ = project{0}
2015-02-13 02:36:14 +00:00
2017-02-16 01:35:30 +00:00
For commonly used configuration options, see examples in the `FAQ <https://wakatime.com/faq> `_ .
2015-02-13 02:36:14 +00:00
2015-05-12 03:23:06 +00:00
Troubleshooting
---------------
2017-04-08 09:28:37 +00:00
Read `How to debug the plugins <https://wakatime.com/faq#debug-plugins> `_ .
2017-02-16 01:35:30 +00:00
2017-04-08 09:28:37 +00:00
Make sure to set `` debug=true `` in your `` ~/.wakatime.cfg `` file.
2015-05-12 03:23:06 +00:00
2017-04-08 09:28:37 +00:00
Common log file location in your User `` $WAKATIME_HOME `` directory::
2015-05-12 03:23:06 +00:00
2017-04-08 09:28:37 +00:00
~/.wakatime.log
2015-05-12 03:23:06 +00:00
2017-04-08 09:28:37 +00:00
Each plugin also has it's own log file:
2015-05-12 03:23:06 +00:00
* **Atom** writes errors to the developer console (View -> Developer -> Toggle Developer Tools)
* **Brackets** errors go to the developer console (Debug -> Show Developer Tools)
2016-03-18 18:18:24 +00:00
* **Cloud9** logs to the browser console (View -> Developer -> JavaScript Console)
2016-03-18 18:19:29 +00:00
* **Coda** logs to `` /var/log/system.log `` so use `` sudo tail -f /var/log/system.log `` in Terminal to watch Coda 2 logs
2015-05-12 03:23:06 +00:00
* **Eclipse** logs can be found in the Eclipse `` Error Log `` (Window -> Show View -> Error Log)
* **Emacs** messages go to the *messages* buffer window
2016-07-02 17:40:22 +00:00
* **Jetbrains IDEs (IntelliJ IDEA, PyCharm, RubyMine, PhpStorm, AppCode, AndroidStudio, WebStorm)** log to `` idea.log `` (`locating IDE log files <https://intellij-support.jetbrains.com/hc/en-us/articles/207241085-Locating-IDE-log-files> `_ )
2015-05-12 03:23:06 +00:00
* **Komodo** logs are written to `` pystderr.log `` (Help -> Troubleshooting -> View Log File)
* **Netbeans** logs to it's own log file (View -> IDE Log)
2015-05-30 23:55:30 +00:00
* **Notepad++** errors go to `` AppData\Roaming\Notepad++\plugins\config\WakaTime.log `` (this file is only created when an error occurs)
2015-05-12 03:23:06 +00:00
* **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 <https://github.com/textmate/textmate/wiki/Enable-Logging> `_ )
* **Vim** errors get displayed in the status line or inline (use `` :redraw! `` to clear inline errors)
2015-07-23 05:59:19 +00:00
* **Visual Studio** logs to the Output window, but uncaught exceptions go to ActivityLog.xml (`more info... <http://blogs.msdn.com/b/visualstudio/archive/2010/02/24/troubleshooting-with-the-activity-log.aspx> `_ )
2016-03-18 18:18:24 +00:00
* **Vscode** logs to the developer console (Help -> Toggle Developer Tools)
2015-08-10 18:53:29 +00:00
* **Xcode** type `` sudo tail -f /var/log/system.log `` in a Terminal to view Xcode errors
2015-05-12 03:29:14 +00:00
2017-04-08 09:32:49 +00:00
Useful API Endpoints:
2017-04-08 09:28:37 +00:00
* `List of Plugins and when they were last heard from <https://wakatime.com/api/v1/users/current/user_agents> `_
* `List of computers last sending coding activity <https://wakatime.com/api/v1/users/current/machine_names> `_
2017-04-08 09:32:49 +00:00
Useful Resources:
2016-04-18 22:40:43 +00:00
2017-04-08 09:33:28 +00:00
* `More Troubleshooting Info <https://wakatime.com/faq#debug-plugins> `_
* `Official API Docs <https://wakatime.com/api> `_
2015-08-11 17:24:44 +00:00
Contributing
------------
2015-08-11 17:38:01 +00:00
Before contributing a pull request, make sure tests pass::
2015-08-11 17:28:32 +00:00
2015-08-11 17:24:44 +00:00
virtualenv venv
. venv/bin/activate
2015-08-11 21:04:16 +00:00
pip install tox
tox
2015-08-11 17:24:44 +00:00
2016-08-31 09:23:32 +00:00
The above will run tests on all Python versions available on your machine.
To just run tests on a single Python version::
virtualenv venv
. venv/bin/activate
pip install -r dev-requirements.txt
nosetests
2015-08-11 17:39:25 +00:00
Many thanks to all `contributors <https://github.com/wakatime/wakatime/blob/master/AUTHORS> `_ !