Skip to main content

X(), for low level debugging

X() is my function for low level ad hoc debug messages. It takes a message and optional format arguments for use with %. It is presented here in its own module for reuse.

It normally writes directly to sys.stderr but accepts an optional keyword argument file to specify a different filelike object. If file is not specified, its behaviour is further tweaked with the globals X_discard, X_logger and X_via_tty: if X_logger then log a warning to that logger; otherwise if X_via_tty then open /dev/tty and write the message to it; otherwise if X_discard then discard the message; otherwise write the message to sys.stderr. X_discard's default value is not sys.stderr.isatty().

Function X(msg, *args, **kw)

Unconditionally write the message msg.

If there are positional arguments after msg, format msg using %-expansion with those arguments.

Keyword arguments:

  • file: optional keyword argument specifying the output file.
  • colour: optional text colour. If specified, surround the message with ANSI escape sequences to render the text in that colour.

If file is not None, write to it unconditionally; otherwise if X_logger then log a warning to that logger; otherwise if X_via_tty then open /dev/tty and write the message to it; otherwise if X_discard then discard the message; otherwise write the message to sys.stderr.

Release files for cs.x 20181231

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cs.x 20181231
File Size Uploaded
cs.x-20181231.tar.gz 2.7 kB Details

Release files / cs.x-20181231.tar.gz

Download URL cs.x-20181231.tar.gz
Size 2.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2152e5db088184f05840554068674c2623df6638af8ed49a2b772a6a2beafff2
BLAKE2b-256 checksum
How to use checksums
339017572123a0381e470986a36bcd87bad8962c8def3505bef58547956ea973
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.0 CPython/3.6.6
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page