report pack¶
20 nodes, in noodlelab and in the tiers that build on it.
Report¶
Add Analysis History¶
report.add_analysis_history
Add a section on how the analysis came to be what it is: the plan it
was locked to before the results (its hypotheses and primary outcomes),
the deviations from it and their reasons, and every other version of the
analysis that was run (the paths not taken, see noodlelab.core.variants).
A reader can then judge a result knowing how many ways it could have
turned out. Runs every time, so it always describes the current run.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Default |
|
|
Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Bibliography¶
report.add_bibliography
Put the references here, and let text cite them: @key in text with
markup cites the entry key of the file (@gum2008), and the
template numbers and styles them (IEEE style in the article template).
Without this node, a report has no references.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
A BibTeX (.bib) or Hayagriva (.yml) file of references |
|
|
The heading; empty: the template’s Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Compliance Matrix¶
report.add_compliance_matrix
Add a table of verified requirements (the log of a chain of Verify
Requirement nodes): each one’s ID, statement, the required and achieved
values, the margin, the verification method and whether it was met (or,
for an uncertain value whose margin is within its uncertainty, is
inconclusive).
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
|
|
|
Default |
|
|
Add a sentence counting what was met Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Data Sources¶
report.add_data_sources
List where the report’s data came from: every file read, and the sources, licences, citations and quality notes given with Describe Data, gathered from everything put into the report before this node.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Equation¶
report.add_equation
Add a displayed equation, numbered (1), (2), … See the Typst math
reference: sub- and superscripts with _ and ^, fractions with /, Greek
letters by name (alpha, sigma), sqrt(x), sum_(i=1)^n. With a label,
text with markup refers to it as @label.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Typst math, without the $ signs: T = 2 pi sqrt(L/g) Default |
|
|
Explains the symbols, after “where” Default |
|
|
Default |
|
|
Interpret the text as Typst markup (math: $E = m c^2$, bold, italic) Default |
|
|
A name to refer to it as @name in text with markup, e.g. fig-drag Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Figure¶
report.add_figure
Add a Matplotlib figure (embedded as vector SVG).
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
|
|
|
Default |
|
|
Default |
|
|
A name to refer to it as @name in text with markup, e.g. fig-drag Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Heading¶
report.add_heading
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Default |
|
|
Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Image¶
report.add_image
Add a PNG, JPEG, GIF or SVG image from a file, such as a photo of the setup, a logo, or a figure saved by an earlier node.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
|
|
|
Default |
|
|
Default |
|
|
A name to refer to it as @name in text with markup, e.g. fig-drag Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Key Values¶
report.add_key_values
Add a compact label / value / unit table: from a dict (such as the
summary output of the analysis nodes; quantities keep their units), a
Series, or a table whose columns are label, value and optionally unit.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
|
|
|
Default |
|
|
Significant digits Default |
|
|
A name to refer to it as @name in text with markup, e.g. fig-drag Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add List¶
report.add_list
Add a bulleted or numbered list, one item per line (a leading “-”, “*” or “1.” is removed).
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
One item per line Default |
|
|
Default |
|
|
Interpret the text as Typst markup (math: $E = m c^2$, bold, italic) Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Note¶
report.add_note
Add a highlighted box: a note, tip, warning or important remark.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Default |
|
|
Default |
|
|
Default |
|
|
Interpret the text as Typst markup (math: $E = m c^2$, bold, italic) Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Page Break¶
report.add_page_break
Start a new page (not at the top of an already empty page).
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Requirements¶
report.add_requirements
Add a table of requirements: each one’s ID, the quantity it constrains, what is required, how it is verified and its statement.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
|
|
|
Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Run Details¶
report.add_run_details
Add a section describing the run that made this report: when and by whom, the software versions, the input files with their SHA-256 checksums, and every processing step with its settings. The full record is in provenance.json, next to the PDF in the run folder. Runs every time, so the details always describe the current run.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Default |
|
|
Start the appendix (lettered sections) Default |
|
|
Default |
|
|
Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Sign-off¶
report.add_signoff
Add the calculation’s sign-off block: who prepared, checked and
approved it, for which revision and run, and whether each signature still
holds (a change to the analysis, its requirements or data since voids it;
see noodlelab signoff).
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Table¶
report.add_table
Add a table from a DataFrame, a GeoDataFrame (without its geometry) or
a dict: of columns ({"x": [...], "y": [...]}), or of single values,
such as the summary output of the analysis nodes, shown as a name /
value table. Longer tables are cut at max_rows, with a note saying so.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
|
|
|
Default |
|
|
Default |
|
|
Comma-separated columns to show, in order; empty: all Default |
|
|
Significant digits Default |
|
|
A name to refer to it as @name in text with markup, e.g. fig-drag Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Text¶
report.add_text
Add a paragraph. Connect a Format Text or Format Values node to include computed values.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Default |
|
|
Interpret the text as Typst markup (math: $E = m c^2$, bold, italic) Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Add Value¶
report.add_value
Add a highlighted key result, e.g. “R²: 0.998”. A quantity is shown in
unit if one is given, otherwise in its own unit. A value with an
uncertainty is shown as “9.806 ± 0.012”, rounded to its uncertainty, or
in the concise notation “9.806(12)” that journals use (style).
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Default |
|
|
Optional. |
|
|
Default |
|
|
Significant digits (values without an uncertainty) Default |
|
|
For a value with an uncertainty: show U = k·u (k = 2 for about 95 %) Default |
|
|
A value with an uncertainty as “9.806 ± 0.012” or “9.806(12)” Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
New Report¶
report.new_report
Start a report. Chain Add nodes after it, then Render PDF.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
Default |
|
|
Default |
|
|
Default |
|
|
Default |
|
|
Shown under the title; empty: the render date Default |
|
|
Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|
Render PDF¶
report.render_report
Typeset the report with Typst into this run’s output folder. With timestamp on, each run’s PDF has its own name, so copies never clash.
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
|
|
|
Default |
|
|
Report, IEEE-style article, calculation note, test report, one-page summary, slides, or one of the workspace’s templates/ folder Default |
|
|
One per line, name: value (e.g. doc_number: CN-0042); the template says which Default |
|
|
Add the date and time to the file name, e.g. report-2026-09-24_153012.pdf Default |
Outputs
Name |
Type |
Description |
|---|---|---|
|
|