Awesome
Tracestack
Instantly search your Python error messages on the web.
Features
- Integrate tracestack into your code in seconds, or run it from the command line
- You can automatically search every error, get prompted to search after each error, or just search your latest error.
- Compatible with Python 2 and 3
- Can search for answers on:
- Google, limited to stackoverflow.com (default)
- Google, searching the entire web
- StackOverflow's own search engine
Installation
$ pip install tracestack
>>> import tracestack
Uses and Examples
Do a post-mortem autopsy of your last exception ...
>>> 1 / 0
Traceback (most recent call last):
File "<console>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
>>> tracestack.pm()
Traceback (most recent call last):
File "<console>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
Searching this error message on Stack Overflow (using Google)...
... or catch all future exceptions ...
>>> tracestack.on()
>>> 1 / 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
Searching this error message on Stack Overflow (using Google)...
>>> tracestack.off()
... or catch exceptions in only one function ...
from tracestack import trace
>>> @trace
>>> def divide_by_zero():
... 1 / 0
... or in any Python script run from the command line ...
$ tracestack manage.py runserver
... or in a read-evaluate-print loop ...
$ tracestack
Python 2.7.6 (default, Sep 9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(TracestackConsole)
>>> 1 / 0
<img src="http://i.imgur.com/aEHs026.gif" />
Options
usage: tracestack [-h] [-p] [-e ENGINE] [SCRIPT] [ARGUMENTS [ARGUMENTS ...]]
instantly search your Python error messages on the web
positional arguments:
SCRIPT the Python script
ARGUMENTS any arguments to the script
optional arguments:
-h, --help show this help message and exit
-p, --prompt prompt the user rather than immediately searching
-e ENGINE, --engine ENGINE
the search engine to use:
'default': Google search limited to stackoverflow.com
'google': Google search of the full web
'stackoverflow': StackOverflow site search
In addition to being used on the command line, any of these arguments can be passed to the pm
, on
, and trace
functions:
>>> tracestack.on(prompt=True)
>>> 1 / 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
Hit spacebar to search this error message on Stack Overflow (using Google):
>>> 1 / 0
>>> tracestack.pm(engine="google")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
Searching this error message on the web (using Google)...
>>> @tracestack.trace(engine="stackoverflow")
>>> def divide_by_zero():
... 1 / 0
...
>>> divide_by_zero()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "tracestack/decorators.py", line 26, in wrapper
result = func(*args, **kwargs)
File "<stdin>", line 3, in divide_by_zero
ZeroDivisionError: integer division or modulo by zero
Searching this error message on Stack Overflow...
Excellent Alternatives
- lukasschwab/Stackit
- search and browse StackOverflow in the command line
- pipe error messages directly into queries
- gleitz/howdoi
- get programming answers to plaintext questions in the command line
- works using inexplicable Jedi magic
- SylvainDe/DidYouMean-Python
- auto-suggests fixes to your errors based on common mistakes
- also possibly magic
- ajalt/fuckitpy
- makes sure your Python code runs "whether it has any right to or not"
- please do not use this
- dgrtwo/tracestack
-
original tracestack package for the R language
-
written on a phone
-