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.

Source Distribution

devpy-0.1.7.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

devpy-0.1.7-py2-none-any.whl (7.0 kB view details)

Uploaded Python 2

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

Hashes for devpy-0.1.7.tar.gz
Algorithm Hash digest
SHA256 0e508da161fd520c811d87ae92991be3a0f05c38ae2ebdde84137692c91b1fe7
MD5 e91e846c0dc3f948d0ca02b6508d3388
BLAKE2b-256 534bf1491ef00e0039dd4f688bbac1ff70ad98ee6a01d6a7b27c90c0944af31c

See more details on using hashes here.

File details

Details for the file devpy-0.1.7-py2-none-any.whl.

File metadata

File hashes

Hashes for devpy-0.1.7-py2-none-any.whl
Algorithm Hash digest
SHA256 e10978fb763fd89ba3e373eceac81893ccb2d0765874e80ddeecb0dec59d3f53
MD5 6b259846b4db7bc53e6150b1a433a2c4
BLAKE2b-256 915e9e7a174afda66f8cef2675ec88513fe4965ff8254bc84a574fb7665e1361

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page