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.2.0.tar.gz (10.6 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.2.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hackaprofile-1.2.0.tar.gz
Algorithm Hash digest
SHA256 f692874eaab12ad06009f6fa3dc9ada0104cd87a48c750cf86c9c779ca47bf7f
MD5 739710163f387f100d9bc2c84aeaaae0
BLAKE2b-256 b44b1e8b01cec5196fcf6745f65b755b7c33227cf392817ee9ddecd4dc334a41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hackaprofile-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.8 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 afa2c91be570be1bbeb591031b03430635c8239365d9c113347a01025f35138a
MD5 de3fec21860001a62b3bada0b1ec3543
BLAKE2b-256 4bf49fad7f78863ab737e497061abbd47501471afe4373bc77ca39db0f88c819

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