Validated inventories, structured change reports, and faster exports
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
InventoryStoreAPI 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.