Time tracking for any IDE with WakaTime-like servers
Project description
wakapi-anyide
Log your coding time against any WakaTime-like server.
[!NOTE] Teenager? Check out High Seas!
[!IMPORTANT] wakapi-anyide is still in development. Please report any tracking bugs!
Alternatives
You should try use an editor extension over wakapi-anyide if you can. If you don't need precise coding metrics, use the WakaTime app instead. (Not for High Seas!)
Quickstart guide for most IDEs
These instructions are best run in an existing project.
-
Create a
.wakatime.cfg
file if you don't already have one. If you're doing High Seas, this is explained in the Signpost (click "View instructions for all platforms" and scroll down). -
Set your IDE to autosave as quickly as possible. This is how wakapi-anyide is able to track your coding time. Ideally, something like a second, so it saves as you type. However, anything under your editor timeout preference in your WakaTime settings is fine. For High Seas, it must be under two minutes.
-
Install
wakapi-anyide
with your favourite Python package manager (trypipx install wakapi-anyide
) -
Run
wakapi-anyide setup
and follow the instructions.
The included paths are the paths that wakapi-anyide will watch for changes.
The excluded paths are the paths that wakapi-anyide will ignore. You should put things like generated/compiled code or packages there (ie*.o
,/node_modules
). By default, if you have a.gitignore
then it will ignore every file listed in it. -
Inspect and edit the generated
wak.toml
:# https://github.com/iamawatermelo/wakapi-anyide v0.6.1 [wakapi-anyide] version = 1 # don't change this [files] include = ["/python/**/*.py", "/*.toml"] # files to include in tracking (ie /src) exclude = ["/.venv"] # files to exclude in tracking (ie /node_modules) exclude_files = [".gitignore"] # files whose contents will be used to exclude other files from tracking exclude_binary_files = true [project] name = "wakapi-anyide" # your project name
-
Run
wakapi-anyide test
in the same directory you havewak.toml
in. Ensure that wakapi-anyide is not tracking any generated files by reading through the paths it has cached. If there are no generated files in the cached paths, you're good to go. -
Run
wakapi-anyide track
to actually track your progress. You must run this every time.
What wakapi-anyide sends
wakapi-anyide tells the WakaTime server:
- your OS and that you are using wakapi-anyide (
wakatime/unset (Linux-none-none) wakapi-anyide-wakatime/unset
) - an anonymised hostname based off of your computer's name (
anonymised machine 749f8c4e
) - the relative path of the files you change (
./wakatime_anyide/__init__.py
) - the estimated time you have spent
- your estimated cursor position over time
- the estimated language of any files you edit (
py
,Makefile
) - the amount of lines changed
- the branch you are editing if you use Git
- any information you specified in the project section of
wak.toml
Additionally, the WakaTime server will be able to see:
- your IP address, which means your approximate location
- the time of day your requests are being sent
Every website you visit can see this information.
wakapi-anyide does not send:
- any information about your system not listed above, like your username
- file content
- filenames outside of those included in your
wak.toml
For security, wakapi-anyide does not use wakatime-cli.
Support for existing WakaTime configuration
wakapi-anyide supports the WAKATIME_HOME
and the WAKATIME_API_KEY
environment variables.
The configuration value takes precedence over the environment variable.
$WAKATIME_HOME/.wakatime.cfg
Only these configuration values are supported:
[settings]
option | description | type | default value |
---|---|---|---|
api_key | Your WakaTime API key. | string | |
api_key_vault_cmd | A command to get your api key. Shell syntax is not supported, use sh -c "<your command>" for that. |
string | |
api_url | The WakaTime API base url. | string | https://api.wakatime.com/api/v1 |
hostname | Optional name of local machine. | string | (an anonymised hostname) |
heartbeat_rate_limit_seconds | How often to send heartbeats, in seconds. | int | 120 |
All other configuration values are silently ignored.
.wakatime-project
Not supported.
Quirks and limitations
Tracking
wakapi-anyide is not integrated with your editor. It can only guess what you are doing through file changes. As such, it may sometimes pick up generated files.
Binary files
wakapi-anyide can track binary files with files.exclude_binary_files = false
.
File changes are reported specially:
- they are appended with
#wakapi-anyide-binary
in tracking - cursor position is set to the last change in the binary file
- the line count are set to the binary diff count
Large files
For performance reasons, files which are larger than 64 KiB will only report changes in filesize.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file wakapi_anyide-0.6.1.tar.gz
.
File metadata
- Download URL: wakapi_anyide-0.6.1.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57ebde3fb6bffa71c7f168191066afecd29c79d89261303b32d6cd432e32ab37 |
|
MD5 | a3ecd063449e5886b5e02e1257607e9a |
|
BLAKE2b-256 | 9a908375658b867e5376c81b2f78bf21adcd7adb656e5a0ffd23819af38c0240 |
File details
Details for the file wakapi_anyide-0.6.1-cp312-abi3-win_amd64.whl
.
File metadata
- Download URL: wakapi_anyide-0.6.1-cp312-abi3-win_amd64.whl
- Upload date:
- Size: 233.2 kB
- Tags: CPython 3.12+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d53b6f47578ada91e0f83242b444a43ed0dd61fc0c25465223ec7ba0ec7aebbe |
|
MD5 | 3c94901b73ba427262c92f332b24c7ad |
|
BLAKE2b-256 | 88554c713baa5b5d23753465572637b41dffad1e2f328bd93301d5431b12722b |
File details
Details for the file wakapi_anyide-0.6.1-cp312-abi3-win32.whl
.
File metadata
- Download URL: wakapi_anyide-0.6.1-cp312-abi3-win32.whl
- Upload date:
- Size: 221.4 kB
- Tags: CPython 3.12+, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1952932788cf6016f8fe01ecb4e122c898d2af18d2a532844bf212d7e9fbb61 |
|
MD5 | ef3a2151f281ae6d45cb89077a2a122f |
|
BLAKE2b-256 | f3c6c164c9b4dfa1ffb50e838e4ac8a3fab56943abf22aee995d25ebd863afb2 |
File details
Details for the file wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 397.7 kB
- Tags: CPython 3.12+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5af5113831c0288333c96f6550fb4ba5cc18a53c6a43279324b91645197d9e72 |
|
MD5 | b01645a26a0306d966d1185d5cffdd39 |
|
BLAKE2b-256 | d046f8f376731d01d077d782ea7029ecdab9a261f0c4aa3420aa61f1b0ea5662 |
File details
Details for the file wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
.
File metadata
- Download URL: wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 447.4 kB
- Tags: CPython 3.12+, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4deae15a1aaf809271ed8a1552b4f0cdde548ee64d6db28bb1cd13459cf80e3 |
|
MD5 | 5513360533f97f7ad6fde063b7630a20 |
|
BLAKE2b-256 | fa815515119093296483442a54ed5b964a66bec6d7ce07fdceb2bcc6eec44975 |
File details
Details for the file wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
.
File metadata
- Download URL: wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 442.7 kB
- Tags: CPython 3.12+, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0ad6b996c35f19d6da02e624d621ba1f382936731857b5dbd206196094dff50 |
|
MD5 | 8bcf6dea25de9d5bc1cd54295555b411 |
|
BLAKE2b-256 | 99476bca1f11796c052331200cf2dfa20694544bea17c78f3397e1ff8e652b67 |
File details
Details for the file wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 420.4 kB
- Tags: CPython 3.12+, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a4ff496d3c586dc909808987133b307cfe8f1a6681909510511b877684ba912 |
|
MD5 | cfae9c55fc9f9cd8ba9a4301eb08fd25 |
|
BLAKE2b-256 | 39b9737fb018ca4615f33ee760f847fd0ac1a6037b3588468471ffa8462e8c99 |
File details
Details for the file wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
.
File metadata
- Download URL: wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 398.7 kB
- Tags: CPython 3.12+, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ed671f58594c0aabe8b787fec78fc6f98e287074b306f05b779aa6f3599ca9b |
|
MD5 | 44b0e9c16275740b3e60693d38a50b30 |
|
BLAKE2b-256 | 733104a9ad0d80eeef629d39acf6609288f863869741639b64c4a9f3550f82b3 |
File details
Details for the file wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
.
File metadata
- Download URL: wakapi_anyide-0.6.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 395.7 kB
- Tags: CPython 3.12+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6a812d5c02021ededb03c63804f308c177675f9b4660afbb25ad65776517001 |
|
MD5 | 1241885551f434b83623e4f80918abfe |
|
BLAKE2b-256 | 2c296b5d93aa41f37b7c836eab45cd2abbe9c2fc86cf3abfd8299c33741b2f8a |
File details
Details for the file wakapi_anyide-0.6.1-cp312-abi3-macosx_11_0_arm64.whl
.
File metadata
- Download URL: wakapi_anyide-0.6.1-cp312-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 315.9 kB
- Tags: CPython 3.12+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0bf4d6b6731ff69b18e16c20c54502333ee51eadddb5c24192e055503a45dcb |
|
MD5 | 528b32e1bc17fd9b642962a2bb7b7832 |
|
BLAKE2b-256 | f69dd7e73bd00280253265ee53adb65f4e8e9aaf6bb1382d49537107781ac7fe |
File details
Details for the file wakapi_anyide-0.6.1-cp312-abi3-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: wakapi_anyide-0.6.1-cp312-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 321.1 kB
- Tags: CPython 3.12+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58a665631589150a1e23b10db03392ce78316570128c680a2971bd2b21a0532b |
|
MD5 | cdec48ea3544052d224d1e8943417091 |
|
BLAKE2b-256 | 739967201a4ba005e28f4499f32a47873530ba121338af5723811cba3fb51dc0 |