I find the supplied python traceback facilities quite awkward. These functions provide convenient facilities.
Latest release 20250724: frames: tweak the exception frame access.
Short summary:
caller: Return theFrameof the caller's caller. ReturnsNoneifframe_indexis out of range.frames: Return the current stack as aStackSummaryinstance, a list ofFrameSummaryinstances.stack_dump: Recite current or supplied stack tof, defaultsys.stderr.
Module contents:
-
caller(frame_index=-3): Return theFrameof the caller's caller. ReturnsNoneifframe_indexis out of range.Useful
frame_indexvalues:-1: caller, this function-2: invoker, who wants to know the caller-3: the calling function of the invoker
The default
from_indexvalue is-3. -
frames(source=None, limit=None): Return the current stack as aStackSummaryinstance, a list ofFrameSummaryinstances. Crop the returned list atlimitif it is notNone.If
sourceis omitted orNone, obtain the source stack fromtraceback.extract_stack(). Otherwise ifsourcehas a.tb_frameattribute (like atracebackobject) orsourcehas a.__traceback__attribute (like an exception), calltraceback.extract_stackwith that to obtain the source stack. -
stack_dump(f=None, indent=0, summary=None, skip=None, select=None, format_frame=None): Recite current or supplied stack tof, defaultsys.stderr.Parameters:
f: the output file object, defaultsys.stderrindent: how many spaces to indent the stack lines, default0summary: the stackFrames to write, default obtained from the current stackskip: the number ofFrames to trim from the end ofsummary; ifsummaryisNonethis defaults to2to trim theFrames for thestack_dumpfunction and its call toframes(), otherwise the default is0to use the suppliedFrames as isselect: if notNone, select particular frames; ifselectis astrit must be present in the frame filename; otherwiseselect(frame)must be true
Release Log
Release 20250724: frames: tweak the exception frame access.
Release 20250306: frame: accept an optional traceback object or exception as a source from which to obtain the stack, add optional limit to crop the stack.
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.
Release files for cs-py-stack 20250724
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cs_py_stack-20250724.tar.gz | 3.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cs_py_stack-20250724-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 8.5 kB
Release files / cs_py_stack-20250724.tar.gz
| Download URL | cs_py_stack-20250724.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a8cf24189ecb0e8075a6b04215c95c15b473077199f8085f095bbf2aae1a3b86
|
|
BLAKE2b-256 checksum How to use checksums |
01a86df6c20efef088319e316e014d188dde6cfc51ea851db7a96cee3527da03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|
Release files / cs_py_stack-20250724-py2.py3-none-any.whl
| Download URL | cs_py_stack-20250724-py2.py3-none-any.whl |
|---|---|
| Size | 4.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
fbf40ccd28c527d27742f2e2f7ae2cf9574cdc39daecc325b3ed2197abde1e77
|
|
BLAKE2b-256 checksum How to use checksums |
c79affdb7ea61137099ffa316462387fd0d0cdbfcbe07751e752d27ab043a767
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|