[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$defs":{"PerFunctionPlotConfig":{"additionalProperties":false,"description":"Per function plot configuration.","properties":{"default_args_override":{"description":"Default arguments to use if not specified in function call.","title":"Default Args Override","type":"object","properties":{"linlog":{"default":false,"description":"Whether to use 'symlog' scale or not. Defaults to False.","title":"Linlog","type":"boolean"},"linthresh":{"default":1,"description":"A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.","title":"Linthresh","type":"number"},"nr_of_data_svd_vectors":{"default":4,"description":"Number of data SVD vector to plot. Defaults to 4.","title":"Nr Of Data Svd Vectors","type":"integer"},"nr_of_residual_svd_vectors":{"default":2,"description":"Number of residual SVD vector to plot. Defaults to 2.","title":"Nr Of Residual Svd Vectors","type":"integer"},"show_data_svd_legend":{"default":true,"description":"Whether or not to show the data SVD legend. Defaults to True.","title":"Show Data Svd Legend","type":"boolean"},"show_residual_svd_legend":{"default":true,"description":"Whether or not to show the residual SVD legend. Defaults to True.","title":"Show Residual Svd Legend","type":"boolean"},"irf_location":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Location of the ``irf`` by which the time axis will get shifted. If it is None the time axis will not be shifted. Defaults to None.","title":"Irf Location"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"},"indices":{"default":[0,1,2,3,4,5,6,7,8,9],"description":"Indices of the singular vector to plot. Defaults to tuple(range(10)).","items":{"type":"integer"},"title":"Indices","type":"array"},"show_legend":{"default":true,"description":"Whether or not to show the legend. Defaults to True.","title":"Show Legend","type":"boolean"},"title":{"default":"Fit overview","description":"Title to add to the figure. Defaults to \"Fit overview\".","title":"Title","type":"string"},"figsize":{"default":[30,15],"description":"Size of the figure (N, M) in inches. Defaults to (30, 15).","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"title":"Figsize","type":"array"},"cmap":{"default":"PuRd","description":"Colormap to use for the filled contour plot. Defaults to \"PuRd\" which is most suitable for emission data (previous default was \"viridis\").","title":"Cmap","type":"string"},"vmin":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Lower value to anchor the colormap. Defaults to None meaning it inferred from the data.","title":"Vmin"},"vmax":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Lower value to anchor the colormap. Defaults to None meaning it inferred from the data.","title":"Vmax"},"linscale":{"default":1,"description":"This allows the linear range (-linthresh to linthresh) to be stretched relative to the logarithmic range. Its value is the number of decades to use for each half of the linear range. For example, when linscale == 1.0 (the default), the space used for the positive and negative halves of the linear range will be equal to one decade in the logarithmic range. Defaults to 1.","title":"Linscale","type":"number"},"main_irf_nr":{"default":0,"description":"Index of the main ``irf`` component when using an ``irf`` parametrized with multiple peaks. Defaults to 0.","title":"Main Irf Nr","type":"integer"},"y_label":{"default":"a.u.","description":"Label used for the y-axis of each subplot.","title":"Y Label","type":"string"},"show_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Whether to show the input data or residual. If set to ``None`` the plot is skipped which improves plotting performance for big datasets. Defaults to False.","title":"Show Data"},"show_irf_dispersion_center":{"default":true,"description":"Whether to show the the IRF dispersion center as overlay on the residual/data plot. Defaults to True.","title":"Show Irf Dispersion Center","type":"boolean"},"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero. Defaults to True.","title":"Show Zero Line","type":"boolean"},"center_\u03bb":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Center wavelength of the IRF (\u03bb in nm).","title":"Center \u039b"},"figure_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Deprecated please remove this argument for you function calls. Defaults to None.","title":"Figure Only"},"time_range":{"anyOf":[{"maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array"},{"type":"null"}],"default":null,"description":"Start and end time for the Oscillation plot, if ``main_irf_nr`` is not None the value are relative to the IRF location. Defaults to None which means that the full time range is used.","title":"Time Range"},"spectral":{"default":0,"description":"Value of the spectral axis that should be used to select the data for the Oscillation plot this value does not need to be an exact existing value and only has effect if the IRF has dispersion. Defaults to 0 which means that the Oscillation plot at lowest spectral value will be shown.","title":"Spectral","type":"number"},"normalize":{"default":false,"description":"Whether or not to normalize the DOAS spectra plot. If the DOAS spectra is normalized, the Oscillation is scaled with the reciprocal of the normalization to compensate for this. Defaults to False.","title":"Normalize","type":"boolean"},"damped_oscillation":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"List of oscillation names which should be plotted. Defaults to None which means that all oscillations will be plotted.","title":"Damped Oscillation"},"oscillation_type":{"default":"cos","description":"Type of the oscillation to show in the oscillation plot. Defaults to \"cos\"","enum":["cos","sin"],"title":"Oscillation Type","type":"string"},"legend_format_string":{"default":"{label}: $\\nu$={frequency:.0f}, $\\gamma$={rate:.1f}","description":"Format string for each entry in the legend of the oscillation plot. Possible values which can be replaced are ``label`` (label of the oscillation in the model definition), ``frequency`` (\u03bd) and ``rate`` (\u03b3). Use ``\"\"`` to remove the legend. Defaults to ``r\"{label}: $\\nu$={frequency:.0f}, $\\gamma$={rate:.1f}\"``","title":"Legend Format String","type":"string"},"divide_by_scale":{"default":true,"description":"Whether or not to divide the data by the dataset scale used for optimization. Defaults to True.","title":"Divide By Scale","type":"boolean"},"per_axis_legend":{"default":false,"description":"Whether to use a legend per plot or for the whole figure. Defaults to False.","title":"Per Axis Legend","type":"boolean"},"axes_shape":{"default":[4,4],"description":"Shape of the plot grid (N, M). Defaults to (4, 4).","maxItems":2,"minItems":2,"prefixItems":[{"type":"integer"},{"type":"integer"}],"title":"Axes Shape","type":"array"}},"additionalProperties":false},"axis_label_override":{"anyOf":[{"$ref":"#/$defs/PlotLabelOverrideMap"},{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Axis Label Override"}},"title":"PerFunctionPlotConfig","type":"object"},"PlotConfig":{"additionalProperties":true,"description":"Config for plot functions including default args and label overrides.","properties":{"general":{"$ref":"#/$defs/PerFunctionPlotConfig","description":"Config that gets applied to all functions if not specified otherwise."},"plot_svd":{"$ref":"#/$defs/PlotSvdConfig"},"plot_lsv_data":{"$ref":"#/$defs/PlotLsvDataConfig"},"plot_rsv_data":{"$ref":"#/$defs/PlotRsvDataConfig"},"plot_sv_data":{"$ref":"#/$defs/PlotSvDataConfig"},"plot_lsv_residual":{"$ref":"#/$defs/PlotLsvResidualConfig"},"plot_rsv_residual":{"$ref":"#/$defs/PlotRsvResidualConfig"},"plot_sv_residual":{"$ref":"#/$defs/PlotSvResidualConfig"},"plot_data_overview":{"$ref":"#/$defs/PlotDataOverviewConfig"},"plot_concentrations":{"$ref":"#/$defs/PlotConcentrationsConfig"},"plot_guidance":{"$ref":"#/$defs/PlotGuidanceConfig"},"plot_irf_dispersion_center":{"$ref":"#/$defs/PlotIrfDispersionCenterConfig"},"plot_residual":{"$ref":"#/$defs/PlotResidualConfig"},"plot_spectra":{"$ref":"#/$defs/PlotSpectraConfig"},"plot_sas":{"$ref":"#/$defs/PlotSasConfig"},"plot_norm_sas":{"$ref":"#/$defs/PlotNormSasConfig"},"plot_das":{"$ref":"#/$defs/PlotDasConfig"},"plot_norm_das":{"$ref":"#/$defs/PlotNormDasConfig"},"plot_overview":{"$ref":"#/$defs/PlotOverviewConfig"},"plot_simple_overview":{"$ref":"#/$defs/PlotSimpleOverviewConfig"},"plot_coherent_artifact":{"$ref":"#/$defs/PlotCoherentArtifactConfig"},"plot_doas":{"$ref":"#/$defs/PlotDoasConfig"},"plot_data_and_fits":{"$ref":"#/$defs/PlotDataAndFitsConfig"},"plot_fitted_traces":{"$ref":"#/$defs/PlotFittedTracesConfig"}},"title":"PlotConfig","type":"object"},"PlotLabelOverrideMap":{"additionalProperties":{"anyOf":[{"$ref":"#/$defs/PlotLabelOverrideValue"},{"type":"string"}]},"description":"Mapping to override axis labels.","title":"PlotLabelOverrideMap","type":"object"},"PlotLabelOverrideValue":{"additionalProperties":false,"description":"Value of ``PlotLabelOverrideMap``.","properties":{"target_name":{"title":"Target Name","type":"string"},"axis":{"default":"both","enum":["x","y","both"],"title":"Axis","type":"string"}},"required":["target_name"],"title":"PlotLabelOverrideValue","type":"object"},"PlotSvdKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_svd``, if not specified in function call.","properties":{"linlog":{"default":false,"description":"Whether to use 'symlog' scale or not. Defaults to False.","title":"Linlog","type":"boolean"},"linthresh":{"default":1,"description":"A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.","title":"Linthresh","type":"number"},"nr_of_data_svd_vectors":{"default":4,"description":"Number of data SVD vector to plot. Defaults to 4.","title":"Nr Of Data Svd Vectors","type":"integer"},"nr_of_residual_svd_vectors":{"default":2,"description":"Number of residual SVD vector to plot. Defaults to 2.","title":"Nr Of Residual Svd Vectors","type":"integer"},"show_data_svd_legend":{"default":true,"description":"Whether or not to show the data SVD legend. Defaults to True.","title":"Show Data Svd Legend","type":"boolean"},"show_residual_svd_legend":{"default":true,"description":"Whether or not to show the residual SVD legend. Defaults to True.","title":"Show Residual Svd Legend","type":"boolean"},"irf_location":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Location of the ``irf`` by which the time axis will get shifted. If it is None the time axis will not be shifted. Defaults to None.","title":"Irf Location"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"}},"title":"PlotSvdKwargs","type":"object"},"PlotSvdConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_svd`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotSvdKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotSvdConfig","type":"object"},"PlotLsvDataKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_lsv_data``, if not specified in function call.","properties":{"indices":{"default":[0,1,2,3],"description":"Indices of the singular vector to plot. Defaults to tuple(range(4)).","items":{"type":"integer"},"title":"Indices","type":"array"},"linlog":{"default":false,"description":"Whether to use 'symlog' scale or not. Defaults to False.","title":"Linlog","type":"boolean"},"linthresh":{"default":1,"description":"A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.","title":"Linthresh","type":"number"},"show_legend":{"default":true,"description":"Whether or not to show the legend. Defaults to True.","title":"Show Legend","type":"boolean"},"irf_location":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Location of the ``irf`` by which the time axis will get shifted. If it is None the time axis will not be shifted. Defaults to None.","title":"Irf Location"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"}},"title":"PlotLsvDataKwargs","type":"object"},"PlotLsvDataConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_lsv_data`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotLsvDataKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotLsvDataConfig","type":"object"},"PlotRsvDataKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_rsv_data``, if not specified in function call.","properties":{"indices":{"default":[0,1,2,3],"description":"Indices of the singular vector to plot. Defaults to tuple(range(4)).","items":{"type":"integer"},"title":"Indices","type":"array"},"show_legend":{"default":true,"description":"Whether or not to show the legend. Defaults to True.","title":"Show Legend","type":"boolean"},"irf_location":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Location of the ``irf`` by which the time axis will get shifted. If it is None the time axis will not be shifted. Defaults to None.","title":"Irf Location"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"}},"title":"PlotRsvDataKwargs","type":"object"},"PlotRsvDataConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_rsv_data`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotRsvDataKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotRsvDataConfig","type":"object"},"PlotSvDataKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_sv_data``, if not specified in function call.","properties":{"indices":{"default":[0,1,2,3,4,5,6,7,8,9],"description":"Indices of the singular vector to plot. Defaults to tuple(range(10)).","items":{"type":"integer"},"title":"Indices","type":"array"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"}},"title":"PlotSvDataKwargs","type":"object"},"PlotSvDataConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_sv_data`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotSvDataKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotSvDataConfig","type":"object"},"PlotLsvResidualKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_lsv_residual``, if not specified in function call.","properties":{"indices":{"default":[0,1],"description":"Indices of the singular vector to plot. Defaults to tuple(range(4)).","items":{"type":"integer"},"title":"Indices","type":"array"},"linlog":{"default":false,"description":"Whether to use 'symlog' scale or not. Defaults to False.","title":"Linlog","type":"boolean"},"linthresh":{"default":1,"description":"A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.","title":"Linthresh","type":"number"},"show_legend":{"default":true,"description":"Whether or not to show the legend. Defaults to True.","title":"Show Legend","type":"boolean"},"irf_location":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Location of the ``irf`` by which the time axis will get shifted. If it is None the time axis will not be shifted. Defaults to None.","title":"Irf Location"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"}},"title":"PlotLsvResidualKwargs","type":"object"},"PlotLsvResidualConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_lsv_residual`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotLsvResidualKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotLsvResidualConfig","type":"object"},"PlotRsvResidualKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_rsv_residual``, if not specified in function call.","properties":{"indices":{"default":[0,1],"description":"Indices of the singular vector to plot. Defaults to tuple(range(4)).","items":{"type":"integer"},"title":"Indices","type":"array"},"show_legend":{"default":true,"description":"Whether or not to show the legend. Defaults to True.","title":"Show Legend","type":"boolean"},"irf_location":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Location of the ``irf`` by which the time axis will get shifted. If it is None the time axis will not be shifted. Defaults to None.","title":"Irf Location"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"}},"title":"PlotRsvResidualKwargs","type":"object"},"PlotRsvResidualConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_rsv_residual`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotRsvResidualKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotRsvResidualConfig","type":"object"},"PlotSvResidualKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_sv_residual``, if not specified in function call.","properties":{"indices":{"default":[0,1,2,3,4,5,6,7,8,9],"description":"Indices of the singular vector to plot. Defaults to tuple(range(10)).","items":{"type":"integer"},"title":"Indices","type":"array"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"}},"title":"PlotSvResidualKwargs","type":"object"},"PlotSvResidualConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_sv_residual`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotSvResidualKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotSvResidualConfig","type":"object"},"PlotDataOverviewKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_data_overview``, if not specified in function call.","properties":{"title":{"default":"Data overview","description":"Title to add to the figure. Defaults to \"Data overview\".","title":"Title","type":"string"},"linlog":{"default":false,"description":"Whether to use 'symlog' scale or not. Defaults to False.","title":"Linlog","type":"boolean"},"linthresh":{"default":1,"description":"A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.","title":"Linthresh","type":"number"},"figsize":{"default":[15,10],"description":"Size of the figure (N, M) in inches. Defaults to (15, 10).","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"title":"Figsize","type":"array"},"nr_of_data_svd_vectors":{"default":4,"description":"Number of data SVD vector to plot. Defaults to 4.","title":"Nr Of Data Svd Vectors","type":"integer"},"show_data_svd_legend":{"default":true,"description":"Whether or not to show the data SVD legend. Defaults to True.","title":"Show Data Svd Legend","type":"boolean"},"irf_location":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Location of the ``irf`` by which the time axis will get shifted. If it is None the time axis will not be shifted. Defaults to None.","title":"Irf Location"},"cmap":{"default":"PuRd","description":"Colormap to use for the filled contour plot. Defaults to \"PuRd\" which is most suitable for emission data (previous default was \"viridis\").","title":"Cmap","type":"string"},"vmin":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Lower value to anchor the colormap. Defaults to None meaning it inferred from the data.","title":"Vmin"},"vmax":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Lower value to anchor the colormap. Defaults to None meaning it inferred from the data.","title":"Vmax"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"}},"title":"PlotDataOverviewKwargs","type":"object"},"PlotDataOverviewConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_data_overview`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotDataOverviewKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotDataOverviewConfig","type":"object"},"PlotConcentrationsKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_concentrations``, if not specified in function call.","properties":{"linlog":{"default":false,"description":"Whether to use 'symlog' scale or not. Defaults to False.","title":"Linlog","type":"boolean"},"linthresh":{"default":1,"description":"A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.","title":"Linthresh","type":"number"},"linscale":{"default":1,"description":"This allows the linear range (-linthresh to linthresh) to be stretched relative to the logarithmic range. Its value is the number of decades to use for each half of the linear range. For example, when linscale == 1.0 (the default), the space used for the positive and negative halves of the linear range will be equal to one decade in the logarithmic range. Defaults to 1.","title":"Linscale","type":"number"},"main_irf_nr":{"default":0,"description":"Index of the main ``irf`` component when using an ``irf`` parametrized with multiple peaks. Defaults to 0.","title":"Main Irf Nr","type":"integer"},"title":{"default":"Concentrations","description":"Title used for the plot axis. Defaults to \"Concentrations\".","title":"Title","type":"string"}},"title":"PlotConcentrationsKwargs","type":"object"},"PlotConcentrationsConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_concentrations`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotConcentrationsKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotConcentrationsConfig","type":"object"},"PlotGuidanceKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_guidance``, if not specified in function call.","properties":{"figsize":{"default":[15,5],"description":"Size of the figure (N, M) in inches. Defaults to (15, 5)","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"title":"Figsize","type":"array"},"title":{"default":"Guidance Overview","description":"Title to add to the figure. Defaults to \"Guidance Overview\"","title":"Title","type":"string"},"y_label":{"default":"a.u.","description":"Label used for the y-axis of each subplot. Defaults to \"a.u.\"","title":"Y Label","type":"string"}},"title":"PlotGuidanceKwargs","type":"object"},"PlotGuidanceConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_guidance`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotGuidanceKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotGuidanceConfig","type":"object"},"PlotIrfDispersionCenterKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_irf_dispersion_center``, if not specified in function call.","properties":{"figsize":{"default":[12,8],"description":"Size of the figure (N, M) in inches. Defaults to (12, 8).","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"title":"Figsize","type":"array"},"irf_location":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Location of the ``irf`` by which the time axis will get shifted. If it is None the time axis will not be shifted. Defaults to None.","title":"Irf Location"}},"title":"PlotIrfDispersionCenterKwargs","type":"object"},"PlotIrfDispersionCenterConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_irf_dispersion_center`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotIrfDispersionCenterKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotIrfDispersionCenterConfig","type":"object"},"PlotResidualKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_residual``, if not specified in function call.","properties":{"linlog":{"default":false,"description":"Whether to use 'symlog' scale or not. Defaults to False.","title":"Linlog","type":"boolean"},"linthresh":{"default":1,"description":"A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.","title":"Linthresh","type":"number"},"show_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Whether to show the input data or residual. If set to ``None`` the plot is skipped which improves plotting performance for big datasets. Defaults to False.","title":"Show Data"},"show_irf_dispersion_center":{"default":true,"description":"Whether to show the the IRF dispersion center as overlay on the residual/data plot. Defaults to True.","title":"Show Irf Dispersion Center","type":"boolean"},"irf_location":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Location of the ``irf`` by which the time axis will get shifted. If it is None the time axis will not be shifted. Defaults to None.","title":"Irf Location"}},"title":"PlotResidualKwargs","type":"object"},"PlotResidualConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_residual`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotResidualKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotResidualConfig","type":"object"},"PlotSpectraKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_spectra``, if not specified in function call.","properties":{"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero. Defaults to True.","title":"Show Zero Line","type":"boolean"}},"title":"PlotSpectraKwargs","type":"object"},"PlotSpectraConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_spectra`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotSpectraKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotSpectraConfig","type":"object"},"PlotSasKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_sas``, if not specified in function call.","properties":{"title":{"default":"SAS","description":"Title of the plot. Defaults to \"SAS\".","title":"Title","type":"string"},"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero. Defaults to True.","title":"Show Zero Line","type":"boolean"}},"title":"PlotSasKwargs","type":"object"},"PlotSasConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_sas`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotSasKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotSasConfig","type":"object"},"PlotNormSasKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_norm_sas``, if not specified in function call.","properties":{"title":{"default":"norm SAS","description":"Title of the plot. Defaults to \"norm SAS\".","title":"Title","type":"string"},"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero. Defaults to True.","title":"Show Zero Line","type":"boolean"}},"title":"PlotNormSasKwargs","type":"object"},"PlotNormSasConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_norm_sas`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotNormSasKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotNormSasConfig","type":"object"},"PlotDasKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_das``, if not specified in function call.","properties":{"title":{"default":"DAS","description":"Title of the plot. Defaults to \"DAS\".","title":"Title","type":"string"},"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero. Defaults to True.","title":"Show Zero Line","type":"boolean"}},"title":"PlotDasKwargs","type":"object"},"PlotDasConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_das`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotDasKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotDasConfig","type":"object"},"PlotNormDasKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_norm_das``, if not specified in function call.","properties":{"title":{"default":"norm DAS","description":"Title of the plot. Defaults to \"norm DAS\".","title":"Title","type":"string"},"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero. Defaults to True.","title":"Show Zero Line","type":"boolean"}},"title":"PlotNormDasKwargs","type":"object"},"PlotNormDasConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_norm_das`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotNormDasKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotNormDasConfig","type":"object"},"PlotOverviewKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_overview``, if not specified in function call.","properties":{"center_\u03bb":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Center wavelength (\u03bb in nm)","title":"Center \u039b"},"linlog":{"default":true,"description":"Whether to use 'symlog' scale or not. Defaults to False.","title":"Linlog","type":"boolean"},"linthresh":{"default":1,"description":"A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.","title":"Linthresh","type":"number"},"linscale":{"default":1,"description":"This allows the linear range (-linthresh to linthresh) to be stretched relative to the logarithmic range. Its value is the number of decades to use for each half of the linear range. For example, when linscale == 1.0 (the default), the space used for the positive and negative halves of the linear range will be equal to one decade in the logarithmic range. Defaults to 1.","title":"Linscale","type":"number"},"show_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Whether to show the input data or residual. If set to ``None`` the plot is skipped which improves plotting performance for big datasets. Defaults to False.","title":"Show Data"},"main_irf_nr":{"default":0,"description":"Index of the main ``irf`` component when using an ``irf`` parametrized with multiple peaks. Defaults to 0.","title":"Main Irf Nr","type":"integer"},"figsize":{"default":[18,16],"description":"Size of the figure (N, M) in inches. Defaults to (18, 16).","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"title":"Figsize","type":"array"},"figure_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Deprecated please remove this argument for you function calls. Defaults to None.","title":"Figure Only"},"nr_of_data_svd_vectors":{"default":4,"description":"Number of data SVD vector to plot. Defaults to 4.","title":"Nr Of Data Svd Vectors","type":"integer"},"nr_of_residual_svd_vectors":{"default":2,"description":"Number of residual SVD vector to plot. Defaults to 2.","title":"Nr Of Residual Svd Vectors","type":"integer"},"show_data_svd_legend":{"default":true,"description":"Whether or not to show the data SVD legend. Defaults to True.","title":"Show Data Svd Legend","type":"boolean"},"show_residual_svd_legend":{"default":true,"description":"Whether or not to show the residual SVD legend. Defaults to True.","title":"Show Residual Svd Legend","type":"boolean"},"show_irf_dispersion_center":{"default":true,"description":"Whether to show the the IRF dispersion center as overlay on the residual/data plot. Defaults to True.","title":"Show Irf Dispersion Center","type":"boolean"},"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero to the plots of the spectra. Defaults to True.","title":"Show Zero Line","type":"boolean"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"}},"title":"PlotOverviewKwargs","type":"object"},"PlotOverviewConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_overview`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotOverviewKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotOverviewConfig","type":"object"},"PlotSimpleOverviewKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_simple_overview``, if not specified in function call.","properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Title of the figure. Defaults to None.","title":"Title"},"figsize":{"default":[12,6],"description":"Size of the figure (N, M) in inches. Defaults to (18, 16).","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"title":"Figsize","type":"array"},"figure_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Deprecated please remove this argument for you function calls. Defaults to None.","title":"Figure Only"},"show_irf_dispersion_center":{"default":true,"description":"Whether to show the the IRF dispersion center as overlay on the residual/data plot. Defaults to True.","title":"Show Irf Dispersion Center","type":"boolean"},"show_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Whether to show the input data or residual. If set to ``None`` the plot is skipped which improves plotting performance for big datasets. Defaults to False.","title":"Show Data"},"use_svd_number":{"default":false,"description":"Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.","title":"Use Svd Number","type":"boolean"}},"title":"PlotSimpleOverviewKwargs","type":"object"},"PlotSimpleOverviewConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_simple_overview`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotSimpleOverviewKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotSimpleOverviewConfig","type":"object"},"PlotCoherentArtifactKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_coherent_artifact``, if not specified in function call.","properties":{"time_range":{"anyOf":[{"maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array"},{"type":"null"}],"default":null,"description":"Start and end time for the IRF derivative plot. Defaults to None which means that the full time range is used.","title":"Time Range"},"spectral":{"default":0,"description":"Value of the spectral axis that should be used to select the data for the IRF derivative plot this value does not need to be an exact existing value and only has effect if the IRF has dispersion. Defaults to 0 which means that the IRF derivative plot at lowest spectral value will be shown.","title":"Spectral","type":"number"},"main_irf_nr":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":0,"description":"Index of the main ``irf`` component when using an ``irf`` parametrized with multiple peaks and is used to shift the time axis. If it is none ``None`` the shifting will be deactivated. Defaults to 0.","title":"Main Irf Nr"},"normalize":{"default":true,"description":"Whether or not to normalize the IRF derivative plot. If the IRF derivative is normalized, the IRFAS is scaled with the reciprocal of the normalization to compensate for this. Defaults to True.","title":"Normalize","type":"boolean"},"figsize":{"default":[18,7],"description":"Size of the figure (N, M) in inches. Defaults to (18, 7).","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"title":"Figsize","type":"array"},"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero. Defaults to True.","title":"Show Zero Line","type":"boolean"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"Coherent Artifact","description":"Title of the figure. Defaults to \"Coherent Artifact\".","title":"Title"}},"title":"PlotCoherentArtifactKwargs","type":"object"},"PlotCoherentArtifactConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_coherent_artifact`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotCoherentArtifactKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotCoherentArtifactConfig","type":"object"},"PlotDoasKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_doas``, if not specified in function call.","properties":{"damped_oscillation":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"List of oscillation names which should be plotted. Defaults to None which means that all oscillations will be plotted.","title":"Damped Oscillation"},"time_range":{"anyOf":[{"maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array"},{"type":"null"}],"default":null,"description":"Start and end time for the Oscillation plot, if ``main_irf_nr`` is not None the value are relative to the IRF location. Defaults to None which means that the full time range is used.","title":"Time Range"},"spectral":{"default":0,"description":"Value of the spectral axis that should be used to select the data for the Oscillation plot this value does not need to be an exact existing value and only has effect if the IRF has dispersion. Defaults to 0 which means that the Oscillation plot at lowest spectral value will be shown.","title":"Spectral","type":"number"},"main_irf_nr":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":0,"description":"Index of the main ``irf`` component when using an ``irf`` parametrized with multiple peaks and is used to shift the time axis. If it is none ``None`` the shifting will be deactivated. Defaults to 0.","title":"Main Irf Nr"},"normalize":{"default":false,"description":"Whether or not to normalize the DOAS spectra plot. If the DOAS spectra is normalized, the Oscillation is scaled with the reciprocal of the normalization to compensate for this. Defaults to False.","title":"Normalize","type":"boolean"},"figsize":{"default":[20,5],"description":"Size of the figure (N, M) in inches. Defaults to (20, 5)","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"title":"Figsize","type":"array"},"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero. Defaults to True","title":"Show Zero Line","type":"boolean"},"oscillation_type":{"default":"cos","description":"Type of the oscillation to show in the oscillation plot. Defaults to \"cos\"","enum":["cos","sin"],"title":"Oscillation Type","type":"string"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"Damped oscillations","description":"Title of the figure. Defaults to \"Damped oscillations\"","title":"Title"},"legend_format_string":{"default":"{label}: $\\nu$={frequency:.0f}, $\\gamma$={rate:.1f}","description":"Format string for each entry in the legend of the oscillation plot. Possible values which can be replaced are ``label`` (label of the oscillation in the model definition), ``frequency`` (\u03bd) and ``rate`` (\u03b3). Use ``\"\"`` to remove the legend. Defaults to ``r\"{label}: $\\nu$={frequency:.0f}, $\\gamma$={rate:.1f}\"``","title":"Legend Format String","type":"string"}},"title":"PlotDoasKwargs","type":"object"},"PlotDoasConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_doas`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotDoasKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotDoasConfig","type":"object"},"PlotDataAndFitsKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_data_and_fits``, if not specified in function call.","properties":{"center_\u03bb":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Center wavelength (\u03bb in nm)","title":"Center \u039b"},"main_irf_nr":{"default":0,"description":"Index of the main ``irf`` component when using an ``irf`` parametrized with multiple peaks. Defaults to 0.","title":"Main Irf Nr","type":"integer"},"linlog":{"default":false,"description":"Whether to use 'symlog' scale or not. Defaults to False.","title":"Linlog","type":"boolean"},"linthresh":{"default":1,"description":"A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.","title":"Linthresh","type":"number"},"divide_by_scale":{"default":true,"description":"Whether or not to divide the data by the dataset scale used for optimization. Defaults to True.","title":"Divide By Scale","type":"boolean"},"per_axis_legend":{"default":false,"description":"Whether to use a legend per plot or for the whole figure. Defaults to False.","title":"Per Axis Legend","type":"boolean"},"y_label":{"default":"a.u.","description":"Label used for the y-axis of each subplot.","title":"Y Label","type":"string"},"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero. Defaults to True.","title":"Show Zero Line","type":"boolean"}},"title":"PlotDataAndFitsKwargs","type":"object"},"PlotDataAndFitsConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_data_and_fits`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotDataAndFitsKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotDataAndFitsConfig","type":"object"},"PlotFittedTracesKwargs":{"additionalProperties":false,"description":"Default arguments to use for ``plot_fitted_traces``, if not specified in function call.","properties":{"axes_shape":{"default":[4,4],"description":"Shape of the plot grid (N, M). Defaults to (4, 4).","maxItems":2,"minItems":2,"prefixItems":[{"type":"integer"},{"type":"integer"}],"title":"Axes Shape","type":"array"},"center_\u03bb":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Center wavelength of the IRF (\u03bb in nm).","title":"Center \u039b"},"main_irf_nr":{"default":0,"description":"Index of the main ``irf`` component when using an ``irf`` parametrized with multiple peaks. Defaults to 0.","title":"Main Irf Nr","type":"integer"},"linlog":{"default":false,"description":"Whether to use 'symlog' scale or not. Defaults to False.","title":"Linlog","type":"boolean"},"linthresh":{"default":1,"description":"A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.","title":"Linthresh","type":"number"},"divide_by_scale":{"default":true,"description":"Whether or not to divide the data by the dataset scale used for optimization. Defaults to True.","title":"Divide By Scale","type":"boolean"},"per_axis_legend":{"default":false,"description":"Whether to use a legend per plot or for the whole figure. Defaults to False.","title":"Per Axis Legend","type":"boolean"},"figsize":{"default":[30,15],"description":"Size of the figure (N, M) in inches. Defaults to (30, 15).","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"title":"Figsize","type":"array"},"title":{"default":"Fit overview","description":"Title to add to the figure. Defaults to \"Fit overview\".","title":"Title","type":"string"},"y_label":{"default":"a.u.","description":"Label used for the y-axis of each subplot.","title":"Y Label","type":"string"},"show_zero_line":{"default":true,"description":"Whether or not to add a horizontal line at zero. Defaults to True.","title":"Show Zero Line","type":"boolean"}},"title":"PlotFittedTracesKwargs","type":"object"},"PlotFittedTracesConfig":{"additionalProperties":false,"description":"Plot function configuration specific to ``plot_fitted_traces`` (overrides values in general).","properties":{"default_args_override":{"$ref":"#/$defs/PlotFittedTracesKwargs","default":{}},"axis_label_override":{"$ref":"#/$defs/PlotLabelOverrideMap","default":{}}},"title":"PlotFittedTracesConfig","type":"object"}},"additionalProperties":false,"description":"Main configuration class.","properties":{"plotting":{"$ref":"#/$defs/PlotConfig","default":{"general":{}}}},"title":"Config","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "Config". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Per function plot configuration.

Default arguments to use if not specified in function call.

Default Args Override

Whether to use 'symlog' scale or not. Defaults to False.

Linlog

A single float which defines the range (-x, x), within which the plot is linear. This avoids having the plot go to infinity around zero. Defaults to 1.

Linthresh

Number of data SVD vector to plot. Defaults to 4.

Nr Of Data Svd Vectors

Number of residual SVD vector to plot. Defaults to 2.

Nr Of Residual Svd Vectors

Whether or not to show the data SVD legend. Defaults to True.

Show Data Svd Legend

Whether or not to show the residual SVD legend. Defaults to True.

Show Residual Svd Legend

Location of the ``irf`` by which the time axis will get shifted. If it is None the time axis will not be shifted. Defaults to None.

Irf Location

Whether to use singular value number (starts at 1) instead of singular value index (starts at 0) for labeling in plot. Defaults to False.

Use Svd Number

Indices of the singular vector to plot. Defaults to tuple(range(10)).

Indices

Whether or not to show the legend. Defaults to True.

Show Legend

Title to add to the figure. Defaults to "Fit overview".

Title

Size of the figure (N, M) in inches. Defaults to (30, 15).

Figsize

Colormap to use for the filled contour plot. Defaults to "PuRd" which is most suitable for emission data (previous default was "viridis").

Cmap

Lower value to anchor the colormap. Defaults to None meaning it inferred from the data.

Vmin

Vmax

This allows the linear range (-linthresh to linthresh) to be stretched relative to the logarithmic range. Its value is the number of decades to use for each half of the linear range. For example, when linscale == 1.0 (the default), the space used for the positive and negative halves of the linear range will be equal to one decade in the logarithmic range. Defaults to 1.

Linscale

Index of the main ``irf`` component when using an ``irf`` parametrized with multiple peaks. Defaults to 0.

Main Irf Nr

Label used for the y-axis of each subplot.

Y Label

Whether to show the input data or residual. If set to ``None`` the plot is skipped which improves plotting performance for big datasets. Defaults to False.

Show Data

Whether to show the the IRF dispersion center as overlay on the residual/data plot. Defaults to True.

Show Irf Dispersion Center

Whether or not to add a horizontal line at zero. Defaults to True.

Show Zero Line

Center wavelength of the IRF (λ in nm).

Center Λ

Deprecated please remove this argument for you function calls. Defaults to None.

Figure Only

Start and end time for the Oscillation plot, if ``main_irf_nr`` is not None the value are relative to the IRF location. Defaults to None which means that the full time range is used.

Time Range

Value of the spectral axis that should be used to select the data for the Oscillation plot this value does not need to be an exact existing value and only has effect if the IRF has dispersion. Defaults to 0 which means that the Oscillation plot at lowest spectral value will be shown.

Spectral

Whether or not to normalize the DOAS spectra plot. If the DOAS spectra is normalized, the Oscillation is scaled with the reciprocal of the normalization to compensate for this. Defaults to False.

Normalize

List of oscillation names which should be plotted. Defaults to None which means that all oscillations will be plotted.

Damped Oscillation

Type of the oscillation to show in the oscillation plot. Defaults to "cos"

Oscillation Type

Format string for each entry in the legend of the oscillation plot. Possible values which can be replaced are ``label`` (label of the oscillation in the model definition), ``frequency`` (ν) and ``rate`` (γ). Use ``""`` to remove the legend. Defaults to ``r"{label}: $\nu$={frequency:.0f}, $\gamma$={rate:.1f}"``

Legend Format String

Whether or not to divide the data by the dataset scale used for optimization. Defaults to True.

Divide By Scale

Whether to use a legend per plot or for the whole figure. Defaults to False.

Per Axis Legend

Shape of the plot grid (N, M). Defaults to (4, 4).

Axes Shape

Axis Label Override

PerFunctionPlotConfig

Config for plot functions including default args and label overrides.

Config that gets applied to all functions if not specified otherwise.

PlotConfig

Mapping to override axis labels.

PlotLabelOverrideMap

Value of ``PlotLabelOverrideMap``.

Target Name

Axis

PlotLabelOverrideValue

Default arguments to use for ``plot_svd``, if not specified in function call.

Whether to use 'symlog' scale or not. Defaults to False.

Linlog

Linthresh

Number of data SVD vector to plot. Defaults to 4.

Nr Of Data Svd Vectors

Number of residual SVD vector to plot. Defaults to 2.

Nr Of Residual Svd Vectors

Whether or not to show the data SVD legend. Defaults to True.

Show Data Svd Legend

Whether or not to show the residual SVD legend. Defaults to True.

Show Residual Svd Legend

Irf Location

Use Svd Number

PlotSvdKwargs

Plot function configuration specific to ``plot_svd`` (overrides values in general).

PlotSvdConfig

Default arguments to use for ``plot_lsv_data``, if not specified in function call.

Indices of the singular vector to plot. Defaults to tuple(range(4)).

Indices

Linlog

Linthresh

Whether or not to show the legend. Defaults to True.

Show Legend

Irf Location

Use Svd Number

PlotLsvDataKwargs

Plot function configuration specific to ``plot_lsv_data`` (overrides values in general).

PlotLsvDataConfig

Default arguments to use for ``plot_rsv_data``, if not specified in function call.

Indices

Show Legend

Irf Location

Use Svd Number

PlotRsvDataKwargs

Plot function configuration specific to ``plot_rsv_data`` (overrides values in general).

PlotRsvDataConfig

Default arguments to use for ``plot_sv_data``, if not specified in function call.

Indices of the singular vector to plot. Defaults to tuple(range(10)).

Indices

Use Svd Number

PlotSvDataKwargs

Plot function configuration specific to ``plot_sv_data`` (overrides values in general).

PlotSvDataConfig

Default arguments to use for ``plot_lsv_residual``, if not specified in function call.

Indices

Whether to use 'symlog' scale or not. Defaults to False.

Linlog

Linthresh

Show Legend

Irf Location

Use Svd Number

PlotLsvResidualKwargs

Plot function configuration specific to ``plot_lsv_residual`` (overrides values in general).

PlotLsvResidualConfig

Default arguments to use for ``plot_rsv_residual``, if not specified in function call.

Indices

Show Legend

Irf Location

Use Svd Number

PlotRsvResidualKwargs

Plot function configuration specific to ``plot_rsv_residual`` (overrides values in general).

PlotRsvResidualConfig

Default arguments to use for ``plot_sv_residual``, if not specified in function call.

Indices

Use Svd Number

PlotSvResidualKwargs

Plot function configuration specific to ``plot_sv_residual`` (overrides values in general).

PlotSvResidualConfig

Default arguments to use for ``plot_data_overview``, if not specified in function call.

Title to add to the figure. Defaults to "Data overview".

Title

Linlog

Linthresh

Size of the figure (N, M) in inches. Defaults to (15, 10).

Figsize

Number of data SVD vector to plot. Defaults to 4.

Nr Of Data Svd Vectors

Whether or not to show the data SVD legend. Defaults to True.

Show Data Svd Legend

Irf Location

Cmap

Lower value to anchor the colormap. Defaults to None meaning it inferred from the data.

Vmin

Vmax

Use Svd Number

PlotDataOverviewKwargs

Plot function configuration specific to ``plot_data_overview`` (overrides values in general).

PlotDataOverviewConfig

Default arguments to use for ``plot_concentrations``, if not specified in function call.

Whether to use 'symlog' scale or not. Defaults to False.

Linlog

Linthresh

Linscale

Main Irf Nr

Title used for the plot axis. Defaults to "Concentrations".

Title

PlotConcentrationsKwargs

Plot function configuration specific to ``plot_concentrations`` (overrides values in general).

PlotConcentrationsConfig

Default arguments to use for ``plot_guidance``, if not specified in function call.

Size of the figure (N, M) in inches. Defaults to (15, 5)

Figsize

Title to add to the figure. Defaults to "Guidance Overview"

Title

Label used for the y-axis of each subplot. Defaults to "a.u."

Y Label

PlotGuidanceKwargs

Plot function configuration specific to ``plot_guidance`` (overrides values in general).

PlotGuidanceConfig

Default arguments to use for ``plot_irf_dispersion_center``, if not specified in function call.

Size of the figure (N, M) in inches. Defaults to (12, 8).

Figsize

Irf Location

PlotIrfDispersionCenterKwargs

Plot function configuration specific to ``plot_irf_dispersion_center`` (overrides values in general).

PlotIrfDispersionCenterConfig

Default arguments to use for ``plot_residual``, if not specified in function call.

Linlog

Linthresh

Show Data

Show Irf Dispersion Center

Irf Location

PlotResidualKwargs

Plot function configuration specific to ``plot_residual`` (overrides values in general).

PlotResidualConfig

Default arguments to use for ``plot_spectra``, if not specified in function call.

Whether or not to add a horizontal line at zero. Defaults to True.

Show Zero Line

PlotSpectraKwargs

Plot function configuration specific to ``plot_spectra`` (overrides values in general).

PlotSpectraConfig

Default arguments to use for ``plot_sas``, if not specified in function call.

Title of the plot. Defaults to "SAS".

Title

Show Zero Line

PlotSasKwargs

Plot function configuration specific to ``plot_sas`` (overrides values in general).

PlotSasConfig

Default arguments to use for ``plot_norm_sas``, if not specified in function call.

Title of the plot. Defaults to "norm SAS".

Title

Show Zero Line

PlotNormSasKwargs

Plot function configuration specific to ``plot_norm_sas`` (overrides values in general).

PlotNormSasConfig

Default arguments to use for ``plot_das``, if not specified in function call.

Title of the plot. Defaults to "DAS".

Title

Show Zero Line

PlotDasKwargs

Plot function configuration specific to ``plot_das`` (overrides values in general).

PlotDasConfig

Default arguments to use for ``plot_norm_das``, if not specified in function call.

Title of the plot. Defaults to "norm DAS".

Title

Show Zero Line

PlotNormDasKwargs

Plot function configuration specific to ``plot_norm_das`` (overrides values in general).

PlotNormDasConfig

Default arguments to use for ``plot_overview``, if not specified in function call.

Center wavelength (λ in nm)

Center Λ

Whether to use 'symlog' scale or not. Defaults to False.

Linlog

Linthresh

Linscale

Show Data

Main Irf Nr

Size of the figure (N, M) in inches. Defaults to (18, 16).

Figsize

Deprecated please remove this argument for you function calls. Defaults to None.

Figure Only

Number of data SVD vector to plot. Defaults to 4.

Nr Of Data Svd Vectors

Number of residual SVD vector to plot. Defaults to 2.

Nr Of Residual Svd Vectors

Whether or not to show the data SVD legend. Defaults to True.

Show Data Svd Legend

Whether or not to show the residual SVD legend. Defaults to True.

Show Residual Svd Legend

Show Irf Dispersion Center

Whether or not to add a horizontal line at zero to the plots of the spectra. Defaults to True.

Show Zero Line

Use Svd Number

PlotOverviewKwargs

Plot function configuration specific to ``plot_overview`` (overrides values in general).

PlotOverviewConfig

Default arguments to use for ``plot_simple_overview``, if not specified in function call.

Title of the figure. Defaults to None.

Title

Figsize

Figure Only

Show Irf Dispersion Center

Show Data

Use Svd Number

PlotSimpleOverviewKwargs

Plot function configuration specific to ``plot_simple_overview`` (overrides values in general).

PlotSimpleOverviewConfig

Default arguments to use for ``plot_coherent_artifact``, if not specified in function call.

Start and end time for the IRF derivative plot. Defaults to None which means that the full time range is used.

Time Range

Value of the spectral axis that should be used to select the data for the IRF derivative plot this value does not need to be an exact existing value and only has effect if the IRF has dispersion. Defaults to 0 which means that the IRF derivative plot at lowest spectral value will be shown.

Spectral

Index of the main ``irf`` component when using an ``irf`` parametrized with multiple peaks and is used to shift the time axis. If it is none ``None`` the shifting will be deactivated. Defaults to 0.

Main Irf Nr

Whether or not to normalize the IRF derivative plot. If the IRF derivative is normalized, the IRFAS is scaled with the reciprocal of the normalization to compensate for this. Defaults to True.

Normalize

Size of the figure (N, M) in inches. Defaults to (18, 7).

Figsize

Whether or not to add a horizontal line at zero. Defaults to True.

Show Zero Line

Title of the figure. Defaults to "Coherent Artifact".

Title

PlotCoherentArtifactKwargs

Plot function configuration specific to ``plot_coherent_artifact`` (overrides values in general).

PlotCoherentArtifactConfig

Default arguments to use for ``plot_doas``, if not specified in function call.

Damped Oscillation

Time Range

Spectral

Main Irf Nr

Normalize

Size of the figure (N, M) in inches. Defaults to (20, 5)

Figsize

Whether or not to add a horizontal line at zero. Defaults to True

Show Zero Line

Type of the oscillation to show in the oscillation plot. Defaults to "cos"

Oscillation Type

Title of the figure. Defaults to "Damped oscillations"

Title

Legend Format String

PlotDoasKwargs

Plot function configuration specific to ``plot_doas`` (overrides values in general).

PlotDoasConfig

Default arguments to use for ``plot_data_and_fits``, if not specified in function call.

Center wavelength (λ in nm)

Center Λ

Main Irf Nr

Whether to use 'symlog' scale or not. Defaults to False.

Linlog

Linthresh

Divide By Scale

Whether to use a legend per plot or for the whole figure. Defaults to False.

Per Axis Legend

Label used for the y-axis of each subplot.

Y Label

Whether or not to add a horizontal line at zero. Defaults to True.

Show Zero Line

PlotDataAndFitsKwargs

Plot function configuration specific to ``plot_data_and_fits`` (overrides values in general).

PlotDataAndFitsConfig

Default arguments to use for ``plot_fitted_traces``, if not specified in function call.

Shape of the plot grid (N, M). Defaults to (4, 4).

Axes Shape

Center wavelength of the IRF (λ in nm).

Center Λ

Main Irf Nr

Linlog

Linthresh

Divide By Scale

Per Axis Legend

Size of the figure (N, M) in inches. Defaults to (30, 15).

Figsize

Title to add to the figure. Defaults to "Fit overview".

Title

Y Label

Show Zero Line

PlotFittedTracesKwargs

Plot function configuration specific to ``plot_fitted_traces`` (overrides values in general).

PlotFittedTracesConfig

Main configuration class.

Config

Provide a JSON object that satisfies the schema "Config". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/pylock.json","additionalProperties":false,"definitions":{"tool":{"type":"object","markdownDescription":"Similar usage as that of the `[tool]` table from the [pyproject.toml specification](https://packaging.python.org/en/latest/specifications/pyproject-toml/#pyproject-toml-spec), but at the package version level instead of at the lock file level (which is also available via `[tool]`).","additionalProperties":{"type":"object","additionalProperties":true}},"url":{"type":"string","markdownDescription":"The URL to the source tree."},"path":{"type":"string","markdownDescription":"The path to the local directory of the source tree."},"upload-time":{"markdownDescription":"The time the file was uploaded (UTC). Must be specified as a datetime literal."},"size":{"type":"integer","markdownDescription":"The size of the archive file."},"hashes":{"type":"object","description":"Known hash values of the file where the key is the hash algorithm and the value is the hash value.","additionalProperties":{"type":"string"}},"subdirectory":{"type":"string","markdownDescription":"The subdirectory within the [source tree](https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-format-source-tree) where the project root of the project is (e.g. the location of the `pyproject.toml` file)."},"vcs":{"type":"object","markdownDescription":"Record the version control system details for the [source tree](https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-format-source-tree) it contains.","additionalProperties":false,"properties":{"type":{"type":"string","markdownDescription":"The type of version control system used."},"url":{"$ref":"#/definitions/url"},"path":{"$ref":"#/definitions/path"},"requested-revision":{"type":"string","markdownDescription":"The branch/tag/ref/commit/revision/etc. that the user requested."},"commit-id":{"type":"string","markdownDescription":"The exact commit/revision number that is to be installed."},"subdirectory":{"$ref":"#/definitions/subdirectory"}}},"directory":{"type":"object","markdownDescription":"Record the local directory details for the [source tree](https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-format-source-tree) it contains.","additionalProperties":false,"properties":{"path":{"type":"string","markdownDescription":"The local directory where the source tree is."},"editable":{"type":"boolean","default":false,"markdownDescription":"A flag representing whether the source tree was an editable install at lock time."},"subdirectory":{"$ref":"#/definitions/subdirectory"}}},"archive":{"type":"object","additionalProperties":false,"markdownDescription":"A direct reference to an archive file to install from (this can include wheels and sdists, as well as other archive formats containing a source tree).","properties":{"url":{"$ref":"#/definitions/url"},"path":{"$ref":"#/definitions/path"},"size":{"$ref":"#/definitions/size"},"upload-time":{"$ref":"#/definitions/upload-time"},"hashes":{"$ref":"#/definitions/hashes"},"subdirectory":{"$ref":"#/definitions/subdirectory"}}},"sdist":{"type":"object","additionalProperties":false,"markdownDescription":"Details of a [source distribution file name](https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-format-sdist) for the package.","properties":{"name":{"type":"string","markdownDescription":"The file name of the [source distribution file name](https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-format-sdist) file."},"upload-time":{"$ref":"#/definitions/upload-time"},"url":{"$ref":"#/definitions/url"},"path":{"$ref":"#/definitions/path"},"size":{"$ref":"#/definitions/size"},"hashes":{"$ref":"#/definitions/hashes"}}},"wheels":{"type":"array","markdownDescription":"For recording the wheel files as specified by [Binary distribution format](https://packaging.python.org/en/latest/specifications/binary-distribution-format/#binary-distribution-format) for the package.","items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","markdownDescription":"The file name of the [Binary distribution format](https://packaging.python.org/en/latest/specifications/binary-distribution-format/#binary-distribution-format) file."},"upload-time":{"$ref":"#/definitions/upload-time"},"url":{"$ref":"#/definitions/url"},"path":{"$ref":"#/definitions/path"},"size":{"$ref":"#/definitions/size"},"hashes":{"$ref":"#/definitions/hashes"}}}},"1.0":{"required":["lock-version","created-by","packages"],"properties":{"lock-version":{"type":"string","enum":["1.0"],"description":"Record the file format version that the file adheres to."},"environments":{"type":"array","markdownDescription":"A list of [environment markers](https://packaging.python.org/en/latest/specifications/dependency-specifiers/#dependency-specifiers-environment-markers) for which the lock file is considered compatible with.","items":{"type":"string","description":"Environment marker"}},"requires-python":{"type":"string","markdownDescription":"Specifies the [Requires-Python](https://packaging.python.org/en/latest/specifications/core-metadata/#core-metadata-requires-python) for the minimum Python version compatible for any environment supported by the lock file (i.e. the minimum viable Python version for the lock file)."},"extras":{"type":"array","markdownDescription":"The list of [extras](https://packaging.python.org/en/latest/specifications/core-metadata/#core-metadata-provides-extra) supported by this lock file.","default":[],"items":{"type":"string","description":"Extra name"}},"dependency-groups":{"type":"array","markdownDescription":"The list of [dependency groups](https://packaging.python.org/en/latest/specifications/dependency-groups/#dependency-groups) publicly supported by this lock file (i.e. dependency groups users are expected to be able to specify via a tool\u2019s UI).","default":[],"items":{"type":"string","description":"Dependency group name"}},"default-groups":{"type":"array","markdownDescription":"The name of synthetic dependency groups to represent what should be installed by default (e.g. what `project.dependencies` implicitly represents).","default":[],"items":{"type":"string","description":"Dependency group name"}},"created-by":{"type":"string","markdownDescription":"Records the name of the tool used to create the lock file."},"packages":{"type":"array","markdownDescription":"An array containing all packages that may be installed.","items":{"type":"object","additionalProperties":false,"required":["name"],"allOf":[{"if":{"required":["vcs"]},"then":{"not":{"required":["directory","archive","sdist","wheels"]}}},{"if":{"required":["directory"]},"then":{"not":{"required":["vcs","archive","sdist","wheels"]}}},{"if":{"required":["sdist"]},"then":{"not":{"required":["vcs","directory","archive"]}}},{"if":{"required":["wheels"]},"then":{"not":{"required":["vcs","directory","archive"]}}}],"properties":{"name":{"type":"string","markdownDescription":"The name of the package, [normalized](https://packaging.python.org/en/latest/specifications/name-normalization/#name-normalization)."},"version":{"type":"string","description":"The version of the package."},"marker":{"type":"string","markdownDescription":"The [environment marker](https://packaging.python.org/en/latest/specifications/dependency-specifiers/#dependency-specifiers-environment-markers) which specify when the package should be installed."},"requires-python":{"type":"string","markdownDescription":"Holds the [version specifiers](https://packaging.python.org/en/latest/specifications/version-specifiers/#version-specifiers) for Python version compatibility for the package."},"dependencies":{"type":"array","markdownDescription":"Records the other entries in `[[packages]]` which are direct dependencies of this package.","items":{"type":"object","markdownDescription":"A table which contains the minimum information required to tell which other package entry it corresponds to where doing a key-by-key comparison would find the appropriate package with no ambiguity (e.g. if there are two entries for the `spam` package, then you can include the version number like `{name = \"spam\", version = \"1.0.0\"}`, or by source like `{name = \"spam\", vcs = { url = \"...\"}`).","additionalProperties":true}},"vcs":{"$ref":"#/definitions/vcs"},"directory":{"$ref":"#/definitions/directory"},"archive":{"$ref":"#/definitions/archive"},"index":{"type":"string","markdownDescription":"The base URL for the package index from [simple repository API](https://packaging.python.org/en/latest/specifications/simple-repository-api/#simple-repository-api) where the sdist and/or wheels were found (e.g. `https://pypi.org/simple/`)."},"sdist":{"$ref":"#/definitions/sdist"},"wheels":{"$ref":"#/definitions/wheels"},"attestation-identities":{"type":"array","markdownDescription":"A recording of the attestations for any file recorded for this package.","items":{"type":"object","additionalProperties":false,"required":["kind"],"properties":{"kind":{"type":"string","markdownDescription":"The unique identity of the Trusted Publisher."}}}},"tool":{"$ref":"#/definitions/tool"}}}},"tool":{"$ref":"#/definitions/tool"}}}},"oneOf":[{"$ref":"#/definitions/1.0"}],"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "pylock". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Similar usage as that of the `[tool]` table from the [pyproject.toml specification](https://packaging.python.org/en/latest/specifications/pyproject-toml/#pyproject-toml-spec), but at the package version level instead of at the lock file level (which is also available via `[tool]`).

The path to the local directory of the source tree.

The time the file was uploaded (UTC). Must be specified as a datetime literal.

Known hash values of the file where the key is the hash algorithm and the value is the hash value.

The subdirectory within the [source tree](https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-format-source-tree) where the project root of the project is (e.g. the location of the `pyproject.toml` file).

Record the version control system details for the [source tree](https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-format-source-tree) it contains.

The type of version control system used.

The branch/tag/ref/commit/revision/etc. that the user requested.

The exact commit/revision number that is to be installed.

Record the local directory details for the [source tree](https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-format-source-tree) it contains.

The local directory where the source tree is.

A flag representing whether the source tree was an editable install at lock time.

A direct reference to an archive file to install from (this can include wheels and sdists, as well as other archive formats containing a source tree).

Details of a [source distribution file name](https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-format-sdist) for the package.

The file name of the [source distribution file name](https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-format-sdist) file.

For recording the wheel files as specified by [Binary distribution format](https://packaging.python.org/en/latest/specifications/binary-distribution-format/#binary-distribution-format) for the package.

The file name of the [Binary distribution format](https://packaging.python.org/en/latest/specifications/binary-distribution-format/#binary-distribution-format) file.

Record the file format version that the file adheres to.

A list of [environment markers](https://packaging.python.org/en/latest/specifications/dependency-specifiers/#dependency-specifiers-environment-markers) for which the lock file is considered compatible with.

Environment marker

Specifies the [Requires-Python](https://packaging.python.org/en/latest/specifications/core-metadata/#core-metadata-requires-python) for the minimum Python version compatible for any environment supported by the lock file (i.e. the minimum viable Python version for the lock file).

The list of [extras](https://packaging.python.org/en/latest/specifications/core-metadata/#core-metadata-provides-extra) supported by this lock file.

Extra name

The list of [dependency groups](https://packaging.python.org/en/latest/specifications/dependency-groups/#dependency-groups) publicly supported by this lock file (i.e. dependency groups users are expected to be able to specify via a tool’s UI).

Dependency group name

The name of synthetic dependency groups to represent what should be installed by default (e.g. what `project.dependencies` implicitly represents).

Dependency group name

Records the name of the tool used to create the lock file.

An array containing all packages that may be installed.

The name of the package, [normalized](https://packaging.python.org/en/latest/specifications/name-normalization/#name-normalization).

The version of the package.

The [environment marker](https://packaging.python.org/en/latest/specifications/dependency-specifiers/#dependency-specifiers-environment-markers) which specify when the package should be installed.

Holds the [version specifiers](https://packaging.python.org/en/latest/specifications/version-specifiers/#version-specifiers) for Python version compatibility for the package.

Records the other entries in `[[packages]]` which are direct dependencies of this package.

A table which contains the minimum information required to tell which other package entry it corresponds to where doing a key-by-key comparison would find the appropriate package with no ambiguity (e.g. if there are two entries for the `spam` package, then you can include the version number like `{name = "spam", version = "1.0.0"}`, or by source like `{name = "spam", vcs = { url = "..."}`).

The base URL for the package index from [simple repository API](https://packaging.python.org/en/latest/specifications/simple-repository-api/#simple-repository-api) where the sdist and/or wheels were found (e.g. `https://pypi.org/simple/`).

A recording of the attestations for any file recorded for this package.

The unique identity of the Trusted Publisher.

Provide a JSON object that satisfies the schema "pylock". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.