Skip to main content

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 has only been tested on Linux and Windows, and 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

  • 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

  • Run wakapi-anyide setup and follow the instructions

  • Inspect and edit the generated wak.toml:

    # https://github.com/iamawatermelo/wakapi-anyide v0.3.1
    
    [wakapi-anyide]
    version = 1  # don't change this
    
    [files]
    include = ["/python/**/*.py", "/*.toml"]  # files to include in tracking
    exclude = ["/.venv"]  # files to exclude in tracking
    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 have wak.toml in, and start coding for a bit. Ensure that wakapi-anyide is not tracking any generated files.

  • 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)

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

Project details


Download files

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

Source Distribution

wakapi_anyide-0.3.1.tar.gz (47.0 kB view details)

Uploaded Source

Built Distributions

wakapi_anyide-0.3.1-cp312-abi3-win_amd64.whl (225.6 kB view details)

Uploaded CPython 3.12+ Windows x86-64

wakapi_anyide-0.3.1-cp312-abi3-win32.whl (214.4 kB view details)

Uploaded CPython 3.12+ Windows x86

wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (389.9 kB view details)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ x86-64

wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (439.1 kB view details)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ s390x

wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (434.7 kB view details)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ ppc64le

wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (411.9 kB view details)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ i686

wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (391.7 kB view details)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ ARMv7l

wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (388.1 kB view details)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ ARM64

wakapi_anyide-0.3.1-cp312-abi3-macosx_11_0_arm64.whl (308.0 kB view details)

Uploaded CPython 3.12+ macOS 11.0+ ARM64

wakapi_anyide-0.3.1-cp312-abi3-macosx_10_12_x86_64.whl (313.2 kB view details)

Uploaded CPython 3.12+ macOS 10.12+ x86-64

File details

Details for the file wakapi_anyide-0.3.1.tar.gz.

File metadata

  • Download URL: wakapi_anyide-0.3.1.tar.gz
  • Upload date:
  • Size: 47.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.7.4

File hashes

Hashes for wakapi_anyide-0.3.1.tar.gz
Algorithm Hash digest
SHA256 395e6b3b0ff30b2b890c052ca7a0319ea4401430ec658f0c24e9b79134e05873
MD5 5aee93b27ee0197f72a7d17b1609c9df
BLAKE2b-256 3a3d973ad7e8855b5fb5210fac6b1dc9933d2323d4892a344149721fab7a9d8c

See more details on using hashes here.

File details

Details for the file wakapi_anyide-0.3.1-cp312-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for wakapi_anyide-0.3.1-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2a6ae0468394d12acd99489519ccc70fbfb41b978241e1b0c6619296679e102e
MD5 1ccee1e1259b4dc3fef342ab04290125
BLAKE2b-256 b3b9cac9bf2adecf259c302cd628a67909faf88da744ced69779b1ed7f380fbc

See more details on using hashes here.

File details

Details for the file wakapi_anyide-0.3.1-cp312-abi3-win32.whl.

File metadata

File hashes

Hashes for wakapi_anyide-0.3.1-cp312-abi3-win32.whl
Algorithm Hash digest
SHA256 1f30757dfcde3f34353cf88c7e62e15ff391a280a4260e702b399cdb81f23fe9
MD5 c01a6dc76649508cb0835f78589eda5b
BLAKE2b-256 022617ed8a01f1081e3004a1e00a235034908849aaa62476d78db41a72ecaecf

See more details on using hashes here.

File details

Details for the file wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e160874425fc336aac6702d6918970e8d4ea4110c4160bbff9289ddeccd8be3
MD5 d5b9d02cff090e7027b0ca844b04e0cd
BLAKE2b-256 48ba16bb00720f1b84f77ba76c8fa047c72700d32bfcf1bcd6cc548484ad629a

See more details on using hashes here.

File details

Details for the file wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 726faba8a85599efe159c9a8fd6032d4a502b8df309914e413e105638b4d4540
MD5 1eab9e3e0226669ccf2af11d69bc52fc
BLAKE2b-256 62a12dc0b1a62aefe5bc287127574631bea36b78f09828c6c791914042aad67e

See more details on using hashes here.

File details

Details for the file wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3371f3dfc29adaa593811a968b530b95d64b4c38a8ff465f7c527c3d95549921
MD5 bd08273e7d8a5be89bc36fe2c811e16e
BLAKE2b-256 494ab0b25629584fd0acd2966a42175605a525b184e86897021f5cd658f817c7

See more details on using hashes here.

File details

Details for the file wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 68224be645a8873d7b8b4b598d1a0d555b89e6f35f9b75c458e1ba0c8a19fde8
MD5 49adbca9dc5adafa2e015842c89fdf26
BLAKE2b-256 2342ba0b3a62e72d97751f7919c4e6c5abc8d29ec29aa0364295f859b7b06764

See more details on using hashes here.

File details

Details for the file wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 95b9c6571153638eb648aac008f8447d9ab21a692402b33480007a2bd09eca16
MD5 77c800e286d50a2379ca022cd77e3b21
BLAKE2b-256 15e17785208662d158bd1d816c4357d5a9daba35be43587af31f8beed072ce59

See more details on using hashes here.

File details

Details for the file wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wakapi_anyide-0.3.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a435d2ac7c5397179f9e4fa6fe972c54972e498503e2a5480834dc2cc2b9dc5
MD5 76e0549e203fef35e25b975e6f6aa5e9
BLAKE2b-256 17a3336386f9e2b9c52a2c42cfcf89e7c895552d953995996d9eafe2a17a1f4e

See more details on using hashes here.

File details

Details for the file wakapi_anyide-0.3.1-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wakapi_anyide-0.3.1-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3182178daaffc2e74388829ae113cc25317974866241e19b894582f99e4b7523
MD5 f56d05ee2d1a5749ed30848b7a1565b3
BLAKE2b-256 fef1f4310a73938385ccdbc18f49e19233459bbe401b4dd84625826d96b08d20

See more details on using hashes here.

File details

Details for the file wakapi_anyide-0.3.1-cp312-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wakapi_anyide-0.3.1-cp312-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 caac8228c00231b3a4e473d57ad9e100c0b6c10631b5f47878eaf16d867f2c5b
MD5 3ba53b1cbdf7fc2e39f2e409c0eef9da
BLAKE2b-256 6118841dc5a2e20b1069081af2e8e3f8caf8b153ab872e3ecaa4e65a03a08b29

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page