This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Simple, small, interactive, console-based Python debugger.

  • Cross-platform
  • Django compatibile

KRT inherits from basic python debugger (called bdb). The main reason behind development of package was need of user interface during python script debugging in console (or when graphical interface is not available). Although pdb have the same (and propbably much more) functionality, I found it not so “user friendly”.

Installation

Install using pip.

pip install krt

Basic script debugging

python krt.py script.py
# or
python -m krt script.py

Initializing debugger during program execution

This method of initialization allows initialization at specific line.

import krt

def func(_something, _nothing):
  local_var = [1, 2, 3, 4]
  # now, initialize krt
  krt.trace()
  anything = _somethins + _nothing
  return anything

Initializing krt via decorator. This method will initialize krt at 1st line of decorated method or function.

import krt

# initialize krt
@krt.debug()
def func(_something, _nothing):
  local_var = [1, 2, 3, 4]
  anything = _somethins + _nothing
  return anything

Django usage

One can use methods mentioned above, but method below allows krt triggering only if run with pre-defined django command.

Setting up django command

  1. Inside django applicaiton directory, create directory called management, inside which create directory commands. Following path, must exists django_project/application/management/commands/.
  2. Create __init__.py inside management and commands directories.
  3. Inside directory commands, create file <command>.py, where <command> will be used with manage.py. Let’s say that we’ve used krt_runserver.py.
  4. Insert into created file: “`python from django.core.management.base import BaseCommand from django.core.management.commands import runserver
class Command(runserver.Command):
   help = “Sets trigger for krt decorators”

   def __init__(self, *args, **kwargs):
       from django.conf import settings
       setattr(settings, 'krt_django_decorator_trigger_flag', True)
       super(Command, self).__init__(*args, **kwargs)

Use decorator inside view

Decorator, when used in django project, requires setting of keyword argument django to True. If the django argument is omitted, the debugger will be always initialized!

from django.http import HttpResponse
from  krttest.krt import debug

@debug(django=True)
def index(request):
    return HttpResponse("I'm ok.")

Now, when the django server is run with created command, KRT debugger is being initialized on 1st line of view, otherwise the decorators are being ignored.

python ./manage.py krt_runserver
Release History

Release History

0.2.3

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
krt-0.2.3.tar.gz (6.1 kB) Copy SHA256 Checksum SHA256 Source Sep 17, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting