Format Functions

Format functions have the same signature as <built-in function format>.

These can be used to override the class variable format_func in a subclass or on an instance.

Boolean Values

monotable.plugin.boolean(bool_value: bool, format_spec: str = 'T, F') → str

Format function that formats the boolean values to user’s strings.

The format_spec is a string 'true-truth-value,false-truth-value' of the true and false truth value strings joined by comma where true-truth-value is returned when bool_value evaluates to logical True. The default value for argument format_spec above is a good example. If fspec or !fspec is rendered check for an incorrect format_spec.

Python Formatting Function Adapters

The Python 3 documentation links below show how to write the format spec for the monotable’s adapters to Python formatting functions.

function Python 3 Documentation
sformat Format String Syntax
mformat same as sformat
tformat Template Strings
pformat printf-style
monotable.plugin.sformat(value: Any, format_spec: str = '') → str

Format function adapter to str.format().

Please keep in mind that only a single replacement field can be used.

monotable.plugin.mformat(mapping: Mapping[str, Any], format_spec: str = '') → str

Format function that selects values from a dictionary.

In the format_spec use references to keyword arguments described by Python Standard Library Format String Syntax that are keys in mapping.

For d = dict(key1=value1, key2=value2, …) A call to mformat(d, format_spec) behaves like calling: format_spec.format(key1=value1, key2=value2, …).

Example:

>>> format_spec = '{key1:.2f} {key2:}!'
>>> print(format_spec.format(key1=25.9456, key2='spam'))
25.95 spam!
>>> from monotable.plugin import mformat
>>> format_spec = '{key1:.2f} {key2:}!'   # same as above
>>> d = {'key1': 25.9456, 'key2': 'spam'}
>>> print(mformat(d, format_spec))
25.95 spam!

The keys must be strings but need not be valid python identifiers as shown here with a key that begins with a digit and a key containing a ‘-‘.

>>> from monotable.plugin import mformat
>>> format_spec = '{0key1:.2f} {key-2:}!'   # same as above
>>> d = {'0key1': 25.9456, 'key-2': 'spam'}
>>> print(mformat(d, format_spec))
25.95 spam!
monotable.plugin.pformat(value: Any, format_spec: str = '') → str

Format function adapter to percent operator %.

The exact number % replacements in the printf-style format spec must be satisfied by items from value.

monotable.plugin.tformat(value: Mapping[str, Any], format_spec: str = '') → str

Format function adapter to string.Template.substitute().

Units Format Functions

These functions change the units of numeric values. They multiply or divide by a floating point number. The format_spec should be appropriate for type float.

monotable.plugin.thousands(numeric_value: complex, format_spec: str = '') → str

Format function that divides by 1.0e3.

monotable.plugin.millions(numeric_value: complex, format_spec: str = '') → str

Format function that divides by 1.0e6.

monotable.plugin.billions(numeric_value: complex, format_spec: str = '') → str

Format function that divides by 1.0e9.

monotable.plugin.trillions(numeric_value: complex, format_spec: str = '') → str

Format function that divides by 1.0e12.

monotable.plugin.milli(numeric_value: complex, format_spec: str = '') → str

Format function that multiplies by 1.0e3.

monotable.plugin.micro(numeric_value: complex, format_spec: str = '') → str

Format function that multiplies by 1.0e6.

monotable.plugin.nano(numeric_value: complex, format_spec: str = '') → str

Format function that multiplies by 1.0e9.

monotable.plugin.pico(numeric_value: complex, format_spec: str = '') → str

Format function that multiplies by 1.0e12.

monotable.plugin.kibi(numeric_value: complex, format_spec: str = '') → str

Format function that divides by 1024.

monotable.plugin.mebi(numeric_value: complex, format_spec: str = '') → str

Format function that divides by 1024^2.

monotable.plugin.gibi(numeric_value: complex, format_spec: str = '') → str

Format function that divides by 1024^3.

monotable.plugin.tebi(numeric_value: complex, format_spec: str = '') → str

Format function that divides by 1024^4.

References

Please refer to Wikipedia articles Unit_Prefix and Binary_Prefix.