Skip to main content

A simple tool to automatically update Slack user profile based on their Hackatime/Wakatime heartbeat!

Project description

HackaProfile

HackaProfile logo

A simple tool to automatically update Slack (more platforms SOON) user profile based on their Hackatime/Wakatime heartbeat!

Features

  • FULLY local (no data leaves your device except for the API calls to update profile)
  • FULLY customizable (see the Place holder variables section)
  • More features #TODO (I don't wanna write README.md >:3)

installation

Install pipx

Check pipx docs

Install Hackaprofile

pipx install hackaprofile
hackaprofile setup

Then follow the guided setup

Placeholder Variables

A key feature of HackaProfile is that it allows you to customise your profile however you like (just like how you would change it on Slack/other platforms) BUT it also allows you to use dynamic values (i.e. Placeholder variables).

Example I am typing {{language}} in {{project}} project becomes I am typing Python in HackaProfile project

-{{id}} Some sort of Hackatime id, might be unique?

  • {{created_at}} When was the Hackatime data last fetched
  • {{time}} Current time in Unix Timestamp
  • {{category}}: Category of the Hackatime action
    • communicating
    • ai coding
    • coding
    • writing docs
  • {{project}} Hackatime project name
  • {{language}} Shows the current language that that you are working on
  • {{editor}} Current IDE/Editor
  • {{operating_system}} The current OS (N.B for MacOS, it shows darwin)
  • {{entity}} Path to the file workng on
  • {{machine}} Current machine's hostname

Logic Operators

You could not only dynamically set variables, but you could also *choose how they are represented dynamically

If Statements:

`{% if [condition] %} ... {% elif [condition] %} ... {% else %} ... {% endif %}

Filters:

Transforms the string to lowercase

{{string|lower}}

Transforms the STRING to UPPERCASE

{{string|upper}}

Transforms the String into a Title format

{{string|title}}

Escaping:

{{ "string to be escaped" }}

or

{% raw %}
string to be escaped
{% endraw %}

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

hackaprofile-1.1.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hackaprofile-1.1.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file hackaprofile-1.1.0.tar.gz.

File metadata

  • Download URL: hackaprofile-1.1.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for hackaprofile-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d46192f7a6bfd366b9133cc056d64488a697095d8cfd53546f29f12f57578a40
MD5 84994bd67bc889db3e0031b24958f163
BLAKE2b-256 7a4cb5e4f2388964251dfae920a8a4255337b0e82797168260576a5e9799f066

See more details on using hashes here.

File details

Details for the file hackaprofile-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: hackaprofile-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for hackaprofile-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea4c52b92309c4236aa1af3a61e4cf4cdb74b85ab0c2c0cc9ae40122dae82528
MD5 de54dce8e885fa63b8e1e674bb2d235e
BLAKE2b-256 f4f8e0da85f128ca16db3a4d9d939f05021f58701b6621899ada17265ef28226

See more details on using hashes here.

Supported by

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