Skip to main content

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:

screenshot.png

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
devpy-0.1.7-py2-none-any.whl (7.0 kB) Copy SHA256 hash SHA256 Wheel 2.7
devpy-0.1.7.tar.gz (5.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page