Metadata-Version: 1.1
Name: ircpdb
Version: 1.1
Summary: Remotely and collaboratively debug your Python application via IRC
Home-page: http://github.com/coddingtonbear/ircpdb
Author: Adam Coddington
Author-email: me@adamcoddington.net
License: UNKNOWN
Description: ircpdb - Remotely and collaboratively debug your Python application via IRC
        ===========================================================================
        
        Ircpdb is an adaptation of rpdb that, instead of opening a port and
        allowing you to debug over telnet, connects to a configurable IRC
        channel so you can collaboratively debug an application remotely.
        
        .. code-block::
        
            import ircpdb
            ircpdb.set_trace(
                channel="#debugger_hangout",
            )
        
        By default, ircpdb will create the channel you specify on Freenode
        and randomly select a nickname for itself, but you can feel free to
        configure ircpdb to connect anywhere:
        
        .. code-block::
        
            import ircpdb
            ircpdb.set_trace(
                channel="#debugger_hangout",
                nickname='im_a_debugger',
                server='irc.mycompany.org',
                limit_access_to=['mynickname'],
                port=6667,
                ssl=True,
            )  # See 'Options' below for descriptions of the above arguments
        
        Upon reaching `set_trace()`, your script will "hang" and the only way to get it
        to continue is to access ircpdb by talking to the user that connected to the
        above IRC channel.
        
        By default, the debugger will enter the channel you've specified using a
        username starting with the hostname of the computer from which it was
        launched (in the following example: 'MyHostname').  To interact with
        the debugger, just send messages in the channel prefixed with "MyHostname:",
        or simply "!".
        
        For example, the following two commands are equivalent, and each will
        display the pdb help screen (be sure to replace 'MyHostname' with whatever
        username the bot selected)::
        
            !help
        
        ::
        
            MyHostname: help
        
        Options
        -------
        
        * ``channel`` (**REQUIRED**): The name of the channel (starting with ``#``)
          to connect to on the IRC server.
        * ``nickname``: The nickname to use when connecting. Note that an alternate
          name will be selected if this name is already in use. Defaults to using
          the hostname of the machine on which the debugger was executed.
        * ``server``: The hostname or IP address of the IRC server.
          Default: `chat.freenode.net`.
        * ``port``: The port number of the IRC server.  Default: `6697`.
        * ``ssl``: Use SSL when connecting to the IRC server?  Default: `True`.
        * ``password``: The server password (if necessary) for the IRC server.
          Default: `None`.
        * ``limit_access_to``: A list of nicknames that are allowed to interact
          with the debugger.  An empty list allows all nicknames to access the
          debugger.  Default: `[]`.
        * ``message_wait_seconds``: The number of seconds that the bot should
          wait between sending messages on IRC.  Many servers, including Freenode,
          will kick clients that send too many messages in too short of a time
          frame.  Default: `0.8` seconds.
        * ``dpaste_minimum_response_length``: Try to post messages this length
          or longer to `dpaste <http://dpaste.com/>`_ rather than sending
          each line individually via IRC.  This is a useful parameter to use
          if you happen to be connected to a server having very austere
          limits on the number of lines a client can send per minute.
          Default: `6` lines.
        
        Installation
        ------------
        
        From ``pip``::
        
            pip install ircpdb
        
        Troubleshooting
        ---------------
        
        If you do not see the bot entering your specified channel, try increasing
        the logging level by adding the following lines above your trace to gather
        a little more information about problems that may have occurred while 
        connecting to the IRC server:
        
        .. code-block::
        
           import logging
           logging.basicConfig(level=logging.DEBUG)
        
        Author(s)
        ---------
        Adam Coddington <me@adamcoddington.net> - http://adamcoddington.net/
        
        This library is a fork of rpdb, and the underpinnings of this library
        are owed to Bertrand Janin <b@janin.com> - http://tamentis.com/ and
        all other contributors to `rpdb <https://github.com/tamentis/rpdb>`
        including the following:
        
         - Ken Manheimer - @kenmanheimer
         - Steven Willis - @onlynone
         - Jorge Niedbalski R <niedbalski@gmail.com>
         - Cyprien Le Pannérer <clepannerer@edd.fr>
         - k4ml <kamal.mustafa@gmail.com>
         - Sean M. Collins <sean@coreitpro.com>
        
        
        1.1 (2014-10-30)
        ================
        
         - Added functionality for automatically sending long messages to Dpaste.
         - Added additional commands including `!!set_dpaste_minimum_response_length`
           and `!!set_message_wait_seconds`.
         - Send a hello message once connected to the channel.
        
        1.0 (2014-10-29)
        ==================
        
         - Forked from rpdb to, instead of opening a socket to interact with,
           
        0.1.5 (2014-10-16)
        ==================
        
         - Write addr/port to stderr instead of stdout (thanks to @onlynone).
         - Allow for dynamic host port (thanks to @onlynone).
         - Make q/quit do proper cleanup (@kenmanheimer)
         - Benignly disregard repeated rpdb.set_trace() to same port as currently
           active session (@kenmanheimer)
         - Extend backwards compatibility down to Python 2.5 (@kenmanheimer)
        
        0.1.4 (2014-04-28)
        ==================
        
         - Expose the addr, port arguments to the set_trace method (thanks to @niedbalski).
        
        0.1.3 (2013-08-02)
        ==================
        
         - Remove a try/finally that seemed to shift the trace location (thanks to k4ml@github).
        
        0.1.2 (2012-01-26)
        ==================
        
         - Catch IOError raised by print in initialization, it may not work in some
           environments (e.g. mod_wsgi). (Menno Smits)
        
        0.1.1 (2010-05-09)
        ==================
        
        Initial release.
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: ISC License (ISCL)
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.0
Classifier: Programming Language :: Python :: 3.1
Classifier: Topic :: Software Development :: Debuggers
