Recent Releases of MARIO

MARIO - v1.0.3

MARIO v1.0.3

New features

EMERGING-E parser

  • parse_emerging now supports the variant="E" (EMERGING-E) bundle, parsing the power-disaggregated table (146 sectors, with electricity split into 14 generation sub-sectors) from EMERGING_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 aggregated electricity sector are projected onto the EMERGING-E generation sub-sectors through a fixed fuel-to-technology mapping. Use co2_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 with Scenario, Matrix, Unit and Value columns.
  • Flow matrices carry the numerator unit; coefficient and exploded matrices (f_ex, m_ex, p_ex and SUT variants) carry the numerator/denominator ratio.
  • 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_date and other metadata fields can be supplied at export time.
  • A filters argument restricts exported rows to selected axis labels, e.g. filters={"Satellite account": ["CO2"]}. Keys may be suffixed with _from/_to to 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.export and 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.1 pin 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: https://github.com/it-is-me-mario/MARIO/compare/v1.0.2...v1.0.3

Industrial Ecology - Input Output Model - Python
Published by LorenzoRinaldi 16 days ago

MARIO - v1.0.2

v1.0.2

Packaging and installation


* Installed Parquet support by default by shipping the package with the
  required dependency out of the box, refreshed the installation guidance,
  refined optional-dependency messaging, and added package-metadata regression
  coverage. Resolved issue `#142 <https://github.com/it-is-me-mario/MARIO/issues/142>`_.

SUT scenarios and native matrix workflows
  • Extended SUT scenario updates so unified Z, Y and E inputs are
    accepted directly and normalized through the shared ordering logic, with
    dedicated regression tests for the new update paths. Resolved issue
    #144 <https://github.com/it-is-me-mario/MARIO/issues/144>_.
  • Switched SUT export and parser roundtrips to native SUT blocks instead of
    legacy unified IOT-style matrices, while preserving backward-compatible
    parsing of historical TXT, Parquet and Excel layouts. Resolved issue
    #146 <https://github.com/it-is-me-mario/MARIO/issues/146>_.

Parser and export roundtrip fixes


* Fixed ``coefficients``-mode parsing of native SUT and special-layout IOT
  bundles from TXT and Parquet, which raised ``KeyError: 'Z'`` because the
  index builders only looked up the upper-case flow matrix name.
* Fixed the explicit SUT Excel export so productive columns are written in the
  same commodity-first order as the rows, allowing workbooks with overlapping
  ``Activity``/``Commodity`` item labels to round-trip correctly.
* Fixed flat TXT/CSV parsing of standard IOT bundles, which raised
  ``ValueError: not enough values to unpack`` due to an inconsistent parser
  return signature.
* Added a full export/parse roundtrip test matrix covering the ``standard`` and
  ``special`` layouts across Excel, TXT and Parquet in both ``flows`` and
  ``coefficients`` modes.

Industrial Ecology - Input Output Model - Python
Published by LorenzoRinaldi about 1 month ago

MARIO - v1.0.1

MARIO v1.0.1 expands core calculation workflows with new exploded price-contribution accessors and improved regional subset/export handling, including sectorized external-trade layouts for IOT databases.
This release also strengthens Parquet support via the new mariopy[parquet] extra, hardens PyPI packaging metadata, and refreshes installation, API, shock-workflow, and transformation documentation.

Industrial Ecology - Input Output Model - Python
Published by LorenzoRinaldi about 1 month ago

MARIO - v1.0.0

v1.0.0 is a major step forward from the 0.3.x series. MARIO has been substantially reorganized around a clearer architecture and a more explicit public API centered on Database, with legacy logic moved out of core/tools into dedicated api, compute, ops, parsers, views, storage, and internal modules. The release also expands compute capabilities with stronger SUT support, product-based technology assumptions, new trade-analysis APIs, built-in GHG calculation profiles, exploded multiplier/footprint accessors, and a new unified Database.plot(...) workflow.

Compared with 0.3.x, v1.0.0 also significantly broadens data handling. Parsing and export are now unified across Excel, TXT, and Parquet; richer matrix layouts are supported; direct parser coverage has been expanded across major datasets; and downloaders have been cleaned up into a clearer interface. Structural operations were upgraded as well, including a refactored add_sectors workflow, better aggregation behavior, support for VY, and improved handling of SUT assumptions and transformations. Finally, the release comes with a much larger automated test suite, stronger regression coverage, pandas 3 compatibility fixes, and a broad documentation refresh.

Industrial Ecology - Input Output Model - Python
Published by LorenzoRinaldi about 1 month ago

MARIO - v0.3.5

  • exiobase 3.9.4 parser added
  • oecd parser added
  • documents improvements

Industrial Ecology - Input Output Model - Python
Published by mohammadamint over 1 year ago

MARIO - v0.3.4

Parsing functions error fixed
Recent pandas versions have changed the way they interpret "None" in DataFrames indices and values, which are currently interpreted it as NaN. This mario update fixes the issue by replacing NaN with the string "None" when parsing excel files.

Deprecated functions
Parser for old-fashioned Eurostat SUTs is deprecated. This function relied on peculiarly structured SUTs formats. In case you need to parse such SUTs, please rearrange them into the standard MARIO format. You can check the MARIO format from 'SUT.xlsx' file in the mario/test directory in this repository.

Industrial Ecology - Input Output Model - Python
Published by mohammadamint over 1 year ago

MARIO - v0.3.3

What's Changed

  • To excel fix bug fixed in flow model
  • new figaro donwloader to opt for the new table release

Industrial Ecology - Input Output Model - Python
Published by mohammadamint almost 2 years ago

MARIO - v0.3.2

Bug fixes in installation and setup.py

Industrial Ecology - Input Output Model - Python
Published by mohammadamint about 2 years ago

MARIO - v0.3.1

Bug fixes on FIGARO_SUT_parser

Industrial Ecology - Input Output Model - Python
Published by mohammadamint about 2 years ago

MARIO - V0.3.0


Release History


v 0.3.0

Settings


New functionalities are provided to allow the user to change some naming convensions in mario indexing and input-output nomenclature convensions in mario.

Isard to Chenery-Moses Transformation

The transformation implies moving from trades accounted in the USE matrix to trades accounted in the SUPPLY matrix.

Data Templates


New functionalities are added to create an enpty IO/SU tables  from tabular data.

Figaro Parser
~~~~~~~~~~~~~

New download and parsing functionalities are added to parser figaro database.


Table Downloader

Donwload functions are added to the software. Some of the download functions are using pymrio database download functionalities, and some other databases are mario exclusive.

Deprecated functions


is_productive and backup methods are deprecated.

Improvements
~~~~~~~~~~~~

* The add_sector function imprvements are implemented to make the code faster.
* Updating dependencies versioning (specifically pandas, numpy and xlsxwriter) 


Documentation
~~~~~~~~~~~~~

* The tutorials are updated to improve the readiblity and quality of the juputer notebook functionalities.
* New templates for the readthedocs.

Industrial Ecology - Input Output Model - Python
Published by mohammadamint about 2 years ago

MARIO - v0.2.2

Industrial Ecology - Input Output Model - Python
Published by mohammadamint almost 3 years ago

MARIO -

Minor bugs in V0.2.0 Fixed

Industrial Ecology - Input Output Model - Python
Published by mohammadamint about 3 years ago

MARIO -

Industrial Ecology - Input Output Model - Python
Published by mohammadamint about 3 years ago

MARIO - V0.2.0

New Release of mario with new features, and improved performance!

What's Changed

  • Pymrio integration by @mohammadamint in https://github.com/it-is-me-mario/MARIO/pull/14
  • Unit test features
  • Unifying Exiobase parser functions
  • new get_data function with improved functionality
  • Documentation update
  • Parse eurostat improvements
  • Parse EORA SUT
  • Bugs fixed

Full Changelog: https://github.com/it-is-me-mario/MARIO/compare/v0.1.0...v2.0.0

Industrial Ecology - Input Output Model - Python
Published by mohammadamint about 3 years ago

MARIO - MARIO v0.1.0

Initial release

Industrial Ecology - Input Output Model - Python
Published by nigolred over 4 years ago