A set of convenience utils for Python requiring no external libs. Some of the best tricks from django-htk, without the bloat and Django dependency.
- Debug via Slack using
slack_debugandslack_debug_json. The best ofprintlndebugging, without the inconvenience of visually fishing for one message out of thousands of log lines. - Debug via writing to local file using
fdb(fdebug) andfdb_json(fdebug_json). Certifiably awesome, fast, and secure.
- Install via PIP:
pip install htk - (Alternative install via clone) Install via local clone: clone this repository into a directory named
htk
SSH:git clone git@github.com:hacktoolkit/python-htk.git htk
HTTPS:git clone https://github.com/hacktoolkit/python-htk.git - Add your Slack incoming webhook URL.
- Create an ENV variable named
HTK_SLACK_WEBHOOK_URLorSLACK_WEBHOOK_URL. - For a local clone, you can also create a
local_settings.pyand add the constantHTK_SLACK_WEBHOOK_URLorSLACK_WEBHOOK_URLwithin.
- Create an ENV variable named
- You can place it outside of your app directory tree, and then symlink it inside.
- To not be nagged by the presence of the
htkdirectory whenever you dogit status, addhtkto your.git/info/excludefile (like.gitignore, but only in your local repository, not checked in).
- Example usage in Python Shell
In [1]: from htk import slack_debug In [2]: from htk import slack_debug_json In [3]: slack_debug('This is seriously awesome!') Out[3]: <Response [200]> In [4]: slack_debug('Yeah, no kidding.') Out[4]: <Response [200]> In [5]: slack_debug_json({'A':1,'B':2,'C':3,'X':['foo','bar','baz'],'Z':{'nested_key':'nested_val ...: ue'}}), Out[5]: (None,) - Check your Slack to verify that the message was posted. If not, perhaps your token was wrong, or the Slack integration was disabled.

(Alternative link to screenshot above: https://cl.ly/436cfb4383a2) - Profit!
- (Recommended) Create a BASH alias or similar:
alias fdb='touch /tmp/fdebug.log; tail -f /tmp/fdebug.log'- By default, the file path which
fdbwrites to is/tmp/fdebug.log. This is because/tmpis generally a writeable path on most systems. - In a separate window used for debugging, run
fdbto watch the logs roll in.
- By default, the file path which
from htk import fdbfdb('Not all heroes wear capes')- If a different file path is desired, simply invoke
fdbwith its second optional argument: `fdb('log or debugging message', file_path='/path/to/fdebug.log')
- If a different file path is desired, simply invoke
- C# - https://github.com/hacktoolkit/csharp-htk
- JavaScript - https://github.com/hacktoolkit/htk.js
- PHP - https://github.com/hacktoolkit/php-htk
- Python (full) - https://github.com/hacktoolkit/python-htk
- Python (lite) - https://github.com/hacktoolkit/python-htk-lite
- Ruby - https://github.com/hacktoolkit/htk-rb
MIT. See LICENSE.md