Documentation of DutLib

Automatic documentation for DutLib

class DMT.core.docu_dut_lib.DocuDutLib(dut_lib: DutLib, devices: Sequence[Mapping[str, object]] | None = None, date=None)[source]

Bases: object

Documentation of an DutLib


Library to document

devicesSequence[Mapping[str, object]]

This list specifies which devices to select from the lib. Only needed if “dev_mode”=”sel” in the mode argument. Each dict specifies a contact configuration, length and width. All devices that match these properties are used for plotting. Example:

devices = [{
    'length'        :2.8e-6,
    'width'         :0.22e-6,
dateconvertable to str

Date of the documentation report.

create_all_plots(plot_specs: List[Dict])[source]

This method generates plots for selected devices in the DutLib in a highly configurable way.


For every plot type you want to create, this list contains one dict. Example:

    'type'        : 'ft_jc_vbc', #possible values are the plot_types that are stored in the defaults (see code below)
    'exclude_at'  : [-0.2,0.5],  #every plot type generates lines "at" some quantity, e.g. gummel_vbc generates for every VBC. With this argument you can exclude lines.
    'key'         : 'freq_vbc',  #data keys that will be used for this plot
    'exact_match' : False,       #Bool, if True, use only keys that match "key" exactly
    'FREQ'        : 10e9,        #optional, float: If given, use only data at FREQ
    'xmin'        : 10e-2,       #optional, float: Minimum Value on x-axis to be displayed
    'xmax'        : 1e2,         #optional, float: Maximum Value on x-axis to be displayed
    'ymax'        : 300,         #optional, float: Maximum Value on y-axis to be displayed
    'ymin'        : 0,           #optional, float: Minimum Value on y-axis to be displayed
    'no_at'       : True,        #optional, Bool: if True, do not display the "at" quantities in the legend.
create_documentation(target_base_path: str | Path)[source]

Generates the other tex files from the template.

The template path from the config is used. The key is:

    libautodoc: null

If None/null, the DMT supplied template is used.

target_base_pathstr | Path

Target path for the documentation report.

generate_all_plots(target_base_path: str | Path, save_tikz_settings: Dict | None = None)[source]

Generates the plot tex and pdf files.

If a plot with the same name already exists, it is deleted before the new is created.

target_base_pathstr | Path

Target base path. Inside this folder the plots will be placed in a “figs” subfolder.


This dict specifies how the plots will be stored, they are directly used as parameters for save_tikz(). Example:

save_tikz_settings = {
    'width'      : '4.5in', #width of the Tikz Pictures
    'height'     : '4.5in', #height of the Tikz Pictures
    'fontsize'   : 'Large', #Fontsize Tex specification
    'clean'      : True,    #If True: remove all files except rendered picture after build
    'svg'        : False    #bool, False: If True, build svg files instead of pdf files.
    'build'      : True     #bool, True: If True, build the Tex files using pdflatex compiler. Else only print .tex files.
    'mark_repeat': 20       #int,20: Only show every nth marker, where n=mark_repeat.
    'clean'      : False,   #bool, False: Remove all files except *.pdf files in plots. Schroeter likes this.
generate_docu(target_base_path: str | Path, plot_specs: List[Dict], save_tikz_settings: Dict | None = None, show: bool = False)[source]

Generate the full documentation folder with all plots and files.

target_base_pathstr | Path

Target path


Plot specs passed to create_all_plots()


Plot specs passed to generate_all_plots()

showbool, optional

If True, the plots are displayed before the documentation folder is created, by default False