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.