Skip to main content

python-htk

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.

Features

  • Debug via Slack using slack_debug and slack_debug_json. The best of println debugging, without the inconvenience of visually fishing for one message out of thousands of log lines.
  • Debug via writing to local file using fdb (fdebug) and fdb_json (fdebug_json). Certifiably awesome, fast, and secure.

How To Use This Awesome?

Installation

  1. Install via PIP: pip install htk
  2. (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
  3. Add your Slack incoming webhook URL.
    1. Create an ENV variable named HTK_SLACK_WEBHOOK_URL or SLACK_WEBHOOK_URL.
    2. For a local clone, you can also create a local_settings.py and add the constant HTK_SLACK_WEBHOOK_URL or SLACK_WEBHOOK_URL within.

Tips on Location of HTK Module (for Local Installation Only)

  1. You can place it outside of your app directory tree, and then symlink it inside.
  2. To not be nagged by the presence of the htk directory whenever you do git status, add htk to your .git/info/exclude file (like .gitignore, but only in your local repository, not checked in).

Slack Debug

  1. 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,)
    
  2. Check your Slack to verify that the message was posted. If not, perhaps your token was wrong, or the Slack integration was disabled. image
    (Alternative link to screenshot above: https://cl.ly/436cfb4383a2)
  3. Profit!

FDebug (FDB aka fdb, short for fdebug)

  1. (Recommended) Create a BASH alias or similar: alias fdb='touch /tmp/fdebug.log; tail -f /tmp/fdebug.log'
    1. By default, the file path which fdb writes to is /tmp/fdebug.log. This is because /tmp is generally a writeable path on most systems.
    2. In a separate window used for debugging, run fdb to watch the logs roll in.
  2. from htk import fdb
  3. fdb('Not all heroes wear capes')
    1. If a different file path is desired, simply invoke fdb with its second optional argument: `fdb('log or debugging message', file_path='/path/to/fdebug.log')

See Also

Authors and Maintainers

License

MIT. See LICENSE.md

Metadata

Release files for htk 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for htk 2.1.0
File Interpreter ABI Platform
htk-2.1.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Release files / htk-2.1.0-py2.py3-none-any.whl

Download URL htk-2.1.0-py2.py3-none-any.whl
Size 12.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
92b9fc43c93f5cdd4bf7f193729b62b200c1d85c30bb67ed86de0f761f71aea4
BLAKE2b-256 checksum
How to use checksums
f1684f04e894c4d53eb6ae40180889617c5bb553fcdf2d7f6be6370aef36bded
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.17

Release history Release notifications | RSS feed

This release

2.1.0 This release

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page