Miscellaneous Classes, Functions, and Tools

class PrintableDict(*args, **kwargs)[source]

Simple subclass of dict that has nicer printing.

Example

>>> from openpnm.utils import PrintableDict
>>> from numpy import array as arr
>>> d = {'item1': 1, 'item2': '1', 'item3': [1, 1], 'item4': arr([1, 1])}
>>> print(PrintableDict(d))
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
key                                 value
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
item1                               1
item2                               1
item3                               [1, 1]
item4                               (2,)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

If the item is a Numpy array the value column will contain the items’ shape, otherwise it will contain the result of print(item)

class PrintableList(iterable=(), /)[source]

Simple subclass of list that has nice printing. Only works flat lists.

Example

>>> from openpnm.utils import PrintableList
>>> temp = ['item1', 'item2', 'item3']
>>> print(PrintableList(temp))
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
1     : item1
2     : item2
3     : item3
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

Each line contains the result of print(item) on each item in the list

class NestedDict(mapping={}, delimiter='/')[source]
class SettingsDict(*args, **kwargs)[source]
class HealthDict(**kwargs)[source]

This class adds a ‘health’ check to a standard dictionary. This check looks into the dict values, and considers empty lists as healthy and all else as unhealthy. If one or more entries is ‘unhealthy’ the health method returns False.

flat_list(input_list)[source]

Given a list of nested lists of arbitrary depth, returns a single level or ‘flat’ list.

sanitize_dict(input_dict)[source]

Given a nested dictionary, ensures that all nested dicts are normal Python dicts. This is necessary for pickling, or just converting an ‘auto-vivifying’ dict to something that acts normal.

unique_list(input_list)[source]

For a given list (of points) remove any duplicates

tic()[source]

Homemade version of matlab tic and toc function, tic starts or resets the clock, toc reports the time since the last call of tic.

See also

toc

toc(quiet=False)[source]

Homemade version of matlab tic and toc function, tic starts or resets the clock, toc reports the time since the last call of tic.

Parameters

quiet (Boolean) – If False (default) then a message is output to the console. If True the message is not displayed and the elapsed time is returned.

See also

tic