Convenient tools for CLI, GUI, and plotting
Project description
MPyTools
Set of custom python packages for various odds and ends.
- mcol defines a set of colours as ANSI escape strings.
- module provides the module() function that calls lmod to persistently load softare on EUREKA.
- mout provides a set of functions for formatted console output.
- mplot provides a variety of plotting functions using matplotlib.
mcol
Provides ANSI escape strings for colourised terminal output that fits into a colour scheme. I.e. green success messages, red errors, orange warnings, yellow filenames etc...
For example to output an error message:
import mcol
print(mcol.error + "Error: Something went wrong!" + mcol.clear)
Please note that for most cases the functions in mout will achieve the same functionality with less code:
import mout
mout.errorOut("Something went wrong!")
Colour strings in the scheme:
varName
Variable names, turqoisevarType
Variable types/units, pinkfunc
Function/script name, underlined turqoisefile
Filename/path, yellowerror
For error messages, bold redsuccess
For success messages, bold greenwarning
For warning messages, bold greenresult
For results/variable values, bluearg
For function arguments, lime
General colour strings:
-
clear
-
bold
-
inverse
-
underline
-
red
-
green
-
yellow
module
Access the unix modulecmd
from within python. Load and unload packages, which will persist so that subsequest exec()
or os.system()
commands will see them. Comma delimited arguments instead of spaces:
import module
module.module('load','lammps/2018/mpi+intel-xe_2017_3')
mout
Write formatted output to the console.
General console message
mout.out(string,printScript=False,end="\n")
string
The message to be displayedprintScript
Prepend the output with the name of the script?end
End the output with this string.
Output a variable and its value
def varOut(name, value, unit="",valCol="",precision=8,printScript=False,end="\n")
name
The name of the variablevalue
Value of the variableunit
Unit string for the variablevalCol
Custom colour string for the valueprecision
Significant figures of the value outputprintScript
Prepend the output with the name of the script?end
End the output with this string.
Warning message
def warningOut(string,printScript=False,code=None,end="\n")
string
The message to be displayedprintScript
Prepend the output with the name of the script?code
The warning codeend
End the output with this string.
Error message
def errorOut(string,printScript=False,fatal=False,code=None,end="\n"):
string
The message to be displayedprintScript
Prepend the output with the name of the script?fatal
Exit the script?code
The warning codeend
End the output with this string.
mplot
Functions for plotting data using matplotlib.
Requirements
mplot
requires matplotlib
Usage
Plotting 2D data:
mplot.graph2D(xdata,ydata,ytitles=None,filename=None,show=True,xmin=None,xmax=None,ymin=None,ymax=None,xlab='x',ylab='y',title=None)
xdata
List of x-axis valuesydata
List of y-axis values or list of list of y-axis values.ytitles
List of titles for the different y-axis data-sets.filename
Output filename.show
Open a GUI window with the plot?xmin
Lower bound of x-axis.xmax
Upper bound of x-axis.ymin
Lower bound of y-axis.ymax
Upper bound of y-axis.xlab
x-axis label.xlab
y-axis label.title
Title of plot.verbosity
Verbosity level. Every nested function call will passverbosity=verbosity-1
.
Example:
import mplot
xdata = [1,2,3,4]
ydata1 = [1,2,3,4]
ydata2 = [3,4,5,6]
mplot.graph2D(xdata,ydata1,filename="test1.png",title="Test 1")
mplot.graph2D(xdata,[ydata1,ydata2],ytitles=["ydata1","ydata2"],filename="test2.png",title="Test 2")
Open figures in GUI windows
To show all the figures created in the interactive session:
mplot.show(verbosity=1)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mpytools-0.0.20.tar.gz
.
File metadata
- Download URL: mpytools-0.0.20.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86bb64231f0a67fd9b16b353b64e0b45e7d9eaa2f31fc7fbf22fc6e12cc69107 |
|
MD5 | 6e2d31116380fd0cb1ab556fa6a5b5e7 |
|
BLAKE2b-256 | c9cd34f1b86289c85549a496d90ecd55ad2796a2b1e5bbe7f4e8f4f3a603a240 |
File details
Details for the file mpytools-0.0.20-py3-none-any.whl
.
File metadata
- Download URL: mpytools-0.0.20-py3-none-any.whl
- Upload date:
- Size: 32.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9377b19e1cf59fb0970d2cb194e10ad83065172d43ecc3eff78dad0c31c257a |
|
MD5 | 19a94e1f2d001cf83da7f11be800628c |
|
BLAKE2b-256 | 7359c5cfde531912d2e613ee0ca7b3f9d6a9cdd3d1033f98be39dd9dd9aafe8e |