GitHub source

evo.blockmodels.typed.report.ReportSpecificationData

Data for creating a report specification.

A report specification defines how to calculate resource estimates from a block model. It includes which columns to report on, how to categorize blocks, and density/mass settings.

Parameters:

Name Type Description Default
name str

The name of the report.

required
columns list[ReportColumnSpec]

List of columns to include in the report with their aggregation settings. Use ReportColumnSpec to define each column.

required
mass_unit_id str

Unit ID for mass output. Common values: - "t" (tonnes) - use MassUnits.TONNES - "kg" (kilograms) - use MassUnits.KILOGRAMS - "oz" (ounces) - use MassUnits.OUNCES

required
categories list[ReportCategorySpec]

List of category columns for grouping blocks. Use ReportCategorySpec to define each category.

list()
description str | None

Optional description of the report.

None
density_value float | None

Fixed density value (requires density_unit_id). Do NOT use with density_column_name.

None
density_unit_id str | None

Unit ID for fixed density (e.g., "t/m3"). Only use with density_value, NOT with density_column_name.

None
density_column_name str | None

Name of the column containing block densities. Do NOT use with density_value or density_unit_id.

None
cutoff_column_name str | None

Name of the column to use for cut-off evaluation.

None
cutoff_values list[float] | None

List of cut-off values to evaluate.

None
autorun bool

Whether to automatically run the report when block model is updated.

True
run_now bool

Whether to run the report immediately after creation. Example with density column: >>> data = ReportSpecificationData( ... name="Gold Resource Report", ... columns=[ ... ReportColumnSpec( ... column_name="Au", ... aggregation="MASS_AVERAGE", # Use for grades ... label="Au Grade", ... output_unit_id="g/t", ... ), ... ], ... categories=[ ... ReportCategorySpec(column_name="domain", label="Domain"), ... ], ... mass_unit_id=MassUnits.TONNES, ... density_column_name="density", # Unit comes from column ... ) Example with fixed density: >>> data = ReportSpecificationData( ... name="Gold Resource Report", ... columns=[...], ... categories=[...], ... mass_unit_id=MassUnits.TONNES, ... density_value=2.7, # Fixed density ... density_unit_id="t/m3", # Required with density_value ... )

True