A set of convenience utils for Python
Project description
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
andslack_debug_json
. The best ofprintln
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
) andfdb_json
(fdebug_json
). Certifiably awesome, fast, and secure.
How To Use This Awesome?
Installation
- 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_URL
orSLACK_WEBHOOK_URL
. - For a local clone, you can also create a
local_settings.py
and add the constantHTK_SLACK_WEBHOOK_URL
orSLACK_WEBHOOK_URL
within.
- Create an ENV variable named
Tips on Location of HTK Module (for Local Installation Only)
- You can place it outside of your app directory tree, and then symlink it inside.
- To not be nagged by the presence of the
htk
directory whenever you dogit status
, addhtk
to your.git/info/exclude
file (like.gitignore
, but only in your local repository, not checked in).
Slack Debug
- 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!
FDebug (FDB
aka fdb
, short for fdebug
)
- (Recommended) Create a BASH alias or similar:
alias fdb='touch /tmp/fdebug.log; tail -f /tmp/fdebug.log'
- 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. - In a separate window used for debugging, run
fdb
to watch the logs roll in.
- By default, the file path which
from htk import fdb
fdb('Not all heroes wear capes')
- 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')
- If a different file path is desired, simply invoke
See Also
- 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
Authors and Maintainers
License
MIT. See LICENSE.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
htk-2.1.0-py2.py3-none-any.whl
(12.6 kB
view details)
File details
Details for the file htk-2.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: htk-2.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92b9fc43c93f5cdd4bf7f193729b62b200c1d85c30bb67ed86de0f761f71aea4 |
|
MD5 | 09548b71446571de202b7271a1a411b2 |
|
BLAKE2b-256 | f1684f04e894c4d53eb6ae40180889617c5bb553fcdf2d7f6be6370aef36bded |