MARIO v1.0.3
New features
EMERGING-E parser
parse_emergingnow supports thevariant="E"(EMERGING-E) bundle, parsing the power-disaggregated table (146 sectors, with electricity split into 14 generation sub-sectors) fromEMERGING_E_<year>.mat.- A sibling label workbook is auto-detected, with fallback to a packaged EMERGING-E sector classification. Use
labels_path=to override detection. - CO₂ projection: when only the standard
EMERGING_CO2_<year>companion is available, the 7 fuel rows of the aggregatedelectricitysector are projected onto the EMERGING-E generation sub-sectors through a fixed fuel-to-technology mapping. Useco2_path=to point to a specific companion file.
Matrix-specific export — Database.export
- Added
Database.export(matrices, scenarios=..., format="csv"|"txt"|"parquet", split="scenario"|"matrix", include_meta=False, **meta_overrides), which writes selected matrices as flat long-format files withScenario,Matrix,UnitandValuecolumns. - Flow matrices carry the numerator unit; coefficient and exploded matrices (
f_ex,m_ex,p_exand SUT variants) carry thenumerator/denominatorratio. - Output can be split one-per-scenario or one-per-matrix, with an optional metadata header (one row per scenario, or key/value metadata in the parquet schema).
release_dateand other metadata fields can be supplied at export time. - A
filtersargument restricts exported rows to selected axis labels, e.g.filters={"Satellite account": ["CO2"]}. Keys may be suffixed with_from/_toto target a single side. - In one-per-matrix mode, a flow and its coefficient (
Z/z) no longer collide on case-insensitive filesystems: the coefficient token is doubled (zz).
Documentation and packaging
- Added the API reference page for
Database.exportand updated the export methods overview. - Aligned the documentation version string to
1.0.3. - Updated installation notes: Python 3.11, 3.12 and 3.13 are supported; Python 3.14 is not supported yet (the
numpy==2.1.1pin has no wheel for 3.14 and the source build fails).
Compatibility
- Requires Python 3.11–3.13.
- No breaking changes since v1.0.2.
Full changelog: v1.0.2...v1.0.3