Skip to content

Validated inventories, structured change reports, and faster exports

Choose a tag to compare

@romainsacchi romainsacchi released this 31 Aug 08:41
· 41 commits to master since this release

premise 2.5.0

This release introduces controlled inventory storage, built-in methodological validation, structured audit reports,
and major runtime and memory improvements.

Highlights

  • Added the InventoryStore API with immutable inspection, atomic transactions, indexed queries, copy-on-write
    scenario forks, and explicit materialization.
  • Added compact, checkpoint-backed inventory storage using typed Arrow data.
  • Added mandatory read-only validation certificates for scenario updates and exports.
  • Added structured change reports consisting of a review-oriented Excel workbook and a complete Parquet audit.
  • Added NewDatabase.update_and_write() for direct update-and-export workflows.
  • Improved Brightway export, provider resolution, relinking, caching, proxy creation, emissions scaling, and
    checkpoint performance.
  • Reorganized the examples into 12 self-contained notebooks.
  • Added validation for IAM years requiring interpolation between model time slices.

Important migration notes

Direct access to the mutable NewDatabase.database attribute has been removed after initialization.

Use:

    store = ndb.get_inventory_store()

The historical pipe-delimited change-log workbook has also been replaced. generate_change_report() now returns
ChangeReportArtifacts and produces an Excel workbook plus a detailed Parquet file.

Methodological corrections

  • Battery-market supplier shares are normalized after IAM interpolation.
  • Diesel markets and their fossil CO₂ intensities now consistently use the dedicated IAM diesel blend, including
    consequential marginal mixes.
  • Compact and legacy inventory backends retain equivalent semantic and exporter outputs.

Documentation and packaging

  • Added a dedicated 2.5 migration guide.

  • Expanded documentation for validation, inventory storage, structured reports, and performance benchmarking.

  • Corrected existing Sphinx documentation errors.

  • Updated source-distribution contents and SPDX license metadata.

    See the full CHANGELOG.md (https://github.com/polca/premise/blob/master/CHANGELOG.md) for details.