Tools to help development and debugging
Project description
Devpy is a set of tools to ease Python development.
Install
pip install devpy
Quick demo
Devpy provide a quick dev setup for logging that you can replace later by a more robust solution:
import devpy.develop as log
log.info('This is an info')
log.warning('This is a warning')
log.error('This is an error')
log.critical('This is a critical error')
log.info('Now let me crash the program. This stack trace is automatically in the log file:')
import codecs
codecs.open('/thisdoesnotexist')
This gives:
Autolog
Setuping proper loging is tedious, so you may want to do it later, but you wish you could get basic logging right now:
import devpy
# Get a logger that automatically log to console and a rotating file
# The rotating file is setup in the temp directory of your system, in
# a subdir named after your script name.
# Logs are colored in the console according their level.
# The file path is printed at the begining of the program.
log = devpy.autolog() # log is a regular stdlib logger object
# start logging:
log.info('Yes')
Once you have time to setup logging seriously, you can just replace the autolog with a regular custom Python logger, and all your logs will still work.
Setting the environment variable DEVPY_LOG_LEVEL to an integer or a level name (debug, info, error, warning, critical…) will set the autolog log to it.
Setting the environment variable DEVPY_COLOR_LOG to 0 disable the color in the log.
autolog parameters:
level (default=-1): the general log level
name (defaul=name of the root module): the name of the log file
path (default=OS temp dir + name): path to the log file
log_on_crash (default=True): add a hook to log the stack trace in case of a crash
log_filename (default=True): log log file pat at the program start
color_log (default=True): add colors to the log
Stacktrace helper
Format the stack trace so that:
it separates the various logicial blocs
it emphasis the lines of your program and not the stdlb
lines of your program are syntax highlighted
Just do:
import devpy
devpy.color_traceback()
All helpers at once
Two ways:
import devpy
log = devpy.dev_mode() # can set color_traceback=True, autolog=True
# or just
# import devpy.develop as log
# for a one liner to activate it all
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
Built Distribution
File details
Details for the file devpy-0.1.7.tar.gz
.
File metadata
- Download URL: devpy-0.1.7.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e508da161fd520c811d87ae92991be3a0f05c38ae2ebdde84137692c91b1fe7 |
|
MD5 | e91e846c0dc3f948d0ca02b6508d3388 |
|
BLAKE2b-256 | 534bf1491ef00e0039dd4f688bbac1ff70ad98ee6a01d6a7b27c90c0944af31c |
File details
Details for the file devpy-0.1.7-py2-none-any.whl
.
File metadata
- Download URL: devpy-0.1.7-py2-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e10978fb763fd89ba3e373eceac81893ccb2d0765874e80ddeecb0dec59d3f53 |
|
MD5 | 6b259846b4db7bc53e6150b1a433a2c4 |
|
BLAKE2b-256 | 915e9e7a174afda66f8cef2675ec88513fe4965ff8254bc84a574fb7665e1361 |