Convenience functions for the python execution stack.
Project description
I find the supplied python traceback facilities quite awkward. These functions provide convenient facilities.
Latest release 20240630:
- The fallback StackSummary: add format_frame_summary(frame) static method.
- stack_dump: updates to avoid a name conflict, expect to work off a StackSummary or a list of frames.
Function caller(frame_index=-3)
Return the Frame
of the caller's caller.
Returns None
if frame_index
is out of range.
Useful frame_index
values:
-1
: caller, this function-2
: invoker, who wants to know the caller-3
: the calling function of the invoker
The default from_index
value is -3
.
Function frames()
Return the current stack as a StackSummary
instance, a list
of FrameSummary
instances.
Function stack_dump(f=None, indent=0, summary=None, skip=None, select=None, format_frame=None)
Recite current or supplied stack to f
, default sys.stderr
.
Parameters:
f
: the output file object, defaultsys.stderr
indent
: how many spaces to indent the stack lines, default0
summary
: the stackFrame
s to write, default obtained from the current stackskip
: the number ofFrame
s to trim from the end ofsummary
; ifsummary
isNone
this defaults to2
to trim theFrame
s for thestack_dump
function and its call toframes()
, otherwise the default is0
to use the suppliedFrame
s as isselect
: if notNone
, select particular frames; ifselect
is astr
it must be present in the frame filename; otherwiseselect(frame)
must be true
Release Log
Release 20240630:
- The fallback StackSummary: add format_frame_summary(frame) static method.
- stack_dump: updates to avoid a name conflict, expect to work off a StackSummary or a list of frames.
Release 20240519: Drop Frame.funcname property.
Release 20240412:
- stack_dump: new select parameter to pick interesting frames for the listing.
- Provide StackSummary and FrameSummary if Python too old.
Release 20220918: caller(): return None if the frame offset is out of range.
Release 20220429: caller: return None if the stack index is out of range.
Release 20190812: stack_dump(): trim the last 2 frames from the listing by default (they are part of stack_dump's implementation).
Release 20190101:
- _Frame: rename .functionname to .funcname; caller: turn raw frames into Frames.
- caller(): accept optional frame_index, default -3.
Release 20160827: Add stack_dump().
Release 20150115: PyPI metadata fixups.
Release 20150111: Tag for initial PyPI release of cs.py.stack.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cs.py.stack-20240630-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d81a19d058a981cb5a882e7b978642e461b3a9a0ad9ee1cb86645c0b704d1e8 |
|
MD5 | 1e1b0ce177c368398b5dc66b0715a5ec |
|
BLAKE2b-256 | d8a07772770b2216ec787f91e50d40f21ddf33bc1b11617d2c3089d617883288 |