Automatic pdb invoker
Project description
sweetdebug - Feel easy to debug
Automatic pdb invoker, Telegram support
Install
pip install sweetdebug
or (To use Telegram notification)
pip install sweetdebug[telegram]
Main Feature
- Use the CLI command to debug any Python script without modifying the source:
sweetdebug your_script.py [script arguments...]
- Or just add one(or two) line in your code:
from sweetdebug import sweetdebug
sweetdebug()
1/0 # Error !!
- This will invoke pdb automatically.
Traceback (Most recent call last):
3 /main.py <module> --> 1/0
ZeroDivisionError: division by zero
> /main.py(3)<module>()
-> 1/0
(Pdb)
Other feature(s)
- You can receive error message with Telegram, too.
- To get Telegram authentication token, See Telegram Botfather for details.
# Assume you have Telegram tokens and corresponding chat ids.
token = "123456789:ABCDEF_VGRXDZKwvHS8@Xca5e2EnZdfsgTw"
chat_ids = ["13852425", '29384594']
sweetdebug(telegram=True, telegram_api_token=token, chat_ids=chat_ids)
1/0 # Error !!
- Also, If you have used your tokens and chat ids, then you can use cached token and chat ids.
sweetdebug(telegram=True)
Other feature(s) - 2 (Added from 1.0.8)
- sweettimer : simple timer for a code snippets
from sweetdebug import sweettimer
# simple timer for a function
@sweettimer()
def xxx1():
return sum([i for i in range(1000)])
# replace function name or time units
@sweettimer(name="my_xxx", unit="ms")
def xxx2():
return sum([i for i in range(1000)])
# also supports context-level
with sweettimer():
sum([i for i in range(1000)])
xxx1()
xxx2()
# you can also check elapsed times through this class attribute
print(sweettimer.times)
(/home/jongho/workspace/testbed/timer.py, line 15) :: elapsed 0.01293182373046875 s
(/home/jongho/workspace/testbed/timer.py)[xxx1] :: elapsed 2.288818359375e-05 s
(/home/jongho/workspace/testbed/timer.py)[my_xxx] :: elapsed 0.019788742065429688 ms
[(None, 0.011715888977050781, 's'), ('xxx1', 2.09808349609375e-05, 's'), ('my_xxx', 1.6927719116210938e-05, 'ms')]
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 Distribution
sweetdebug-1.1.1.tar.gz
(5.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sweetdebug-1.1.1.tar.gz.
File metadata
- Download URL: sweetdebug-1.1.1.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d27933cf4a02066cf1cca210ad1074bde5469fc048cb88bc9183766db0bbd892
|
|
| MD5 |
47c1109b3c60a4ea6a3b8d0dfd1a97f2
|
|
| BLAKE2b-256 |
d53801e470eef72251cdbc7bdf2c7569abafb6192c4592558dc633269ec5f775
|
File details
Details for the file sweetdebug-1.1.1-py3-none-any.whl.
File metadata
- Download URL: sweetdebug-1.1.1-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69a851905e5611f7cca425be947372e4d20d1f17fdde2d2a11aec9ed57a25216
|
|
| MD5 |
a7a611c50e1f01a2c852bf4d92482545
|
|
| BLAKE2b-256 |
33e2767fc019d4d9f45eac879faf6db8bc8a40bfe71c6870be116043fc40fab1
|