Skip to content
forked from hpcugent/vsc-base

Basic Python libraries used by UGent's HPC group

License

Notifications You must be signed in to change notification settings

vub-hpc/vsc-base

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vsc-base

Description

Common tools used within our organization. Originally created by the HPC team of Ghent University (https://ugent.be/hpc).

Namespaces and tools

lib/utils

python utilities to be used as libraries

  • fancylogger: an extention of the default python logger designed to be easy to use and have a couple of fancy features.

  • custom specifiers for mpi loggin (the mpirank) with autodetection of mpi

  • custom specifier for always showing the calling function's name

  • rotating file handler

  • a default formatter.

  • logging to an UDP server (logdaemon.py f.ex.)

  • easily setting loglevel

  • daemon.py : Daemon class written by Sander Marechal (http://www.jejik.com) to start a python script as a daemon.

  • missing.py: Small functions and tools that are commonly used but not available in the Python (2.x) API.

  • cache.py : File cache to store pickled data identified by a key accompanied by a timestamp. (moved to vsc-utils)

  • generaloption.py : A general option parser for python. It will fetch options (in this order) from config files, from environment variables and from the command line and parse them in a way compatible with the default python optionparser. Thus allowing a very flexible way to configure your scripts. It also adds a few other useful extras.

  • affinity.py : Linux cpu affinity.

  • Based on sched.h and bits/sched.h,

  • see man pages for sched_getaffinity and sched_setaffinity

  • also provides a cpuset class to convert between human readable cpusets and the bit version Linux priority

  • Based on sys/resources.h and bits/resources.h see man pages for getpriority and setpriority

  • asyncprocess.py : Module to allow Asynchronous subprocess use on Windows and Posix platforms

  • Based on a python recipe by Josiah Carlson

  • added STDOUT handle and recv_some

  • daemon.py : A generic daemon class by Sander Marechal

  • dateandtime.py : A module with various convenience functions and classes to deal with date, time and timezone.

  • nagios.py : This module provides functionality to cache and report results of script executions that can readily be interpreted by nagios/icinga.

  • run.py : Python module to execute a command, can make use of asyncprocess, answer questions based on a dictionary

  • supports a whole lot of ways to input, process and output the command. (filehandles, PIPE, pty, stdout, logging...)

  • mail.py : Wrapper around the standard Python mail library.

  • Send a plain text message

  • Send an HTML message, with a plain text alternative

bin

A collection of python scripts, these are examples of how you could use fancylogger to log to a daemon, but should not be used directly.

  • logdaemon.py: A daemon that listens on a port for udp packets and logs them to file, works toghether with fancylogger.
  • startlogdaemon.py : Script that will start the logdaemon for you and set environment variables for fancylogger.

Acknowledgements

vsc-base was created with support of Ghent University, the Flemish Supercomputer Centre (VSC), the Flemish Research Foundation (FWO), and the Department of Economy, Science and Innovation (EWI).

About

Basic Python libraries used by UGent's HPC group

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.1%
  • Shell 0.9%