shpc package

Submodules

shpc.client module

shpc.client.get_parser()[source]
shpc.client.run_shpc()[source]

run_shpc is the entrypoint to the singularity-hpc client.

shpc.logger module

class shpc.logger.ColorizingStreamHandler(nocolor=False, stream=<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>, use_threads=False)[source]

Bases: logging.StreamHandler

BLACK = 0
BLUE = 4
BOLD_SEQ = '\x1b[1m'
COLOR_SEQ = '\x1b[%dm'
CYAN = 6
GREEN = 2
MAGENTA = 5
RED = 1
RESET_SEQ = '\x1b[0m'
WHITE = 7
YELLOW = 3
can_color_tty()[source]
colors = {'CRITICAL': 1, 'DEBUG': 4, 'ERROR': 1, 'INFO': 2, 'WARNING': 3}
decorate(record)[source]
emit(record)[source]

Emit a record.

If a formatter is specified, it is used to format the record. The record is then written to the stream with a trailing newline. If exception information is present, it is formatted using traceback.print_exception and appended to the stream. If the stream has an ‘encoding’ attribute, it is used to determine how to do the output to the stream.

property is_tty
class shpc.logger.LogColors[source]

Bases: object

BOLD = '\x1b[1m'
ENDC = '\x1b[0m'
OKBLUE = '\x1b[94m'
OKCYAN = '\x1b[96m'
OKGREEN = '\x1b[92m'
PURPLE = '\x1b[95m'
RED = '\x1b[91m'
UNDERLINE = '\x1b[4m'
WARNING = '\x1b[93m'
class shpc.logger.Logger[source]

Bases: object

cleanup()[source]
debug(msg)[source]
error(msg)[source]
exit(msg, return_code=1)[source]
handler(msg)[source]
info(msg)[source]
location(msg)[source]
progress(done=None, total=None)[source]
set_level(level)[source]
set_stream_handler(stream_handler)[source]
shellcmd(msg)[source]
text_handler(msg)[source]

The default log handler prints the output to the console. :param msg: the log message dictionary :type msg: dict

warning(msg)[source]
yellow(msg)[source]
shpc.logger.add_prefix(msg, char='>>')[source]

Add an “OKBLUE” prefix to a message

shpc.logger.setup_logger(quiet=False, printshellcmds=False, nocolor=False, stdout=False, debug=False, use_threads=False, wms_monitor=None)[source]
shpc.logger.underline(msg)[source]

Return an underlined message

shpc.main module

shpc.main.get_client(quiet=False, **kwargs)[source]

Get a singularity HPC client based on the backend (e.g., Lmod) and container technology (currently just Singularity) of interest.

Parameters:quiet (if True, suppress most output about the client (e.g. speak)) –

shpc.main.container module

shpc.main.modules

shpc.main.modules.lmod

class shpc.main.modules.lmod.Client(**kwargs)[source]

Bases: shpc.main.modules.base.ModuleBase

shpc.main.modules.tcl

class shpc.main.modules.tcl.Client(**kwargs)[source]

Bases: shpc.main.modules.base.ModuleBase