Skip to main content

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 20240519: Drop Frame.funcname property.

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 list of Frame objects.

Function stack_dump(f=None, indent=0, frames=None, skip=None, select=None, format_frame=None)

Recite current or supplied stack to f, default sys.stderr.

Parameters:

  • f: the output file object, default sys.stderr
  • indent: how many spaces to indent the stack lines, default 0
  • frames: the stack Frames to write, default obtained from the current stack
  • skip: the number of Frames to trim from the end of frames; if frames is None this defaults to 2 to trim the Frames for the stack_dump function and its call to frames(), otherwise the default is 0 to use the supplied Frames as is
  • select: if not None, select particular frames; if select is a str it must be present in the frame filename; otherwise select(frame) must be true

Release Log

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cs.py.stack-20240519.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cs.py.stack-20240519-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file cs.py.stack-20240519.tar.gz.

File metadata

  • Download URL: cs.py.stack-20240519.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.6

File hashes

Hashes for cs.py.stack-20240519.tar.gz
Algorithm Hash digest
SHA256 d310a0e5c7bd0300bc6486ff36c372c1224d39b3ae15715b73851f12bd64b9ed
MD5 486de0a1b068cdd01b838ab7808b786a
BLAKE2b-256 7779aae81d834d7e0c0d8e5a8249f915736e661dc53e2eda3b25c5f36d07eb84

See more details on using hashes here.

File details

Details for the file cs.py.stack-20240519-py3-none-any.whl.

File metadata

  • Download URL: cs.py.stack-20240519-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.6

File hashes

Hashes for cs.py.stack-20240519-py3-none-any.whl
Algorithm Hash digest
SHA256 e6255f9efb1c8f2cc44f71c57b2ea567dd22c1e35ef0e9d751c592d2044ccc48
MD5 33c020f486ab5d145e31339f2fc85693
BLAKE2b-256 b2090c2c0b1bfec0d757f7171790a299f016a6a4e11a8ccc772ce08f2ddcce09

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page