Context Managers for Xonsh (xonsh.contexts)

Context management tools for xonsh.

class xonsh.contexts.Block[source]

This is a context manager for obtaining a block of lines without actually executing the block. The lines are accessible as the ‘lines’ attribute. This must be used as a macro.


lines (list of str or None) Block lines as if split by str.splitlines(), if available.
glbs (Mapping or None) Global execution context, ie globals().
locs (Mapping or None) Local execution context, ie locals().
class xonsh.contexts.Functor(args=(), kwargs=None, rtn='')[source]

This is a context manager that turns the block into a callable object, bound to the execution context it was created in.


args : Sequence of str, optional

A tuple of argument names for the functor.

kwargs : Mapping of str to values or list of item tuples, optional

Keyword argument names and values, if available.

rtn : str, optional

Name of object to return, if available.


func (function) The underlying function object. This defaults to none and is set after the the block is exited.