MARIO

Perform impact analysis using regional input-output tables and models.
https://github.com/it-is-me-mario/mario

Category: Industrial Ecology
Sub Category: Input Output Model

Last synced: about 22 hours ago
JSON representation

Repository metadata

Multifunctional Analysis of Regions through Input-Output

README.rst

          .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black

.. image:: https://readthedocs.org/projects/mario-suite/badge/?version=latest
    :target: https://mario-suite.readthedocs.io/en/latest/index.html
    :alt: Documentation Status

.. image:: https://badge.fury.io/py/mariopy.svg
    :target: https://badge.fury.io/py/mariopy

.. image:: https://zenodo.org/badge/421900437.svg
   :target: https://zenodo.org/badge/latestdoi/421900437

*******
MARIO
*******

**MARIO** stands for **Multifunctional Analysis of Regions through Input-Output**.
It is a Python package for working with Input-Output Tables (IOT) and Supply and
Use Tables (SUT). Once parsed, a table becomes a MARIO *database* that can be
inspected, computed, transformed, aggregated, shocked, and exported.

Documentation is available on `Read the Docs `_.


What MARIO Supports
-------------------

MARIO is designed around a practical IO workflow:

* parse a database from supported sources or load a packaged test table;
* inspect sets, scenarios, and available matrices;
* compute derived matrices and indicators on demand;
* transform, aggregate, or shock the database;
* export the results for roundtrip or downstream analysis.

The current documentation covers both standard parsers and custom database
ingestion. Supported workflows include:

* single-region and multi-region systems;
* monetary and hybrid tables where the parser supports them;
* standard sources such as EXIOBASE, EORA, EUROSTAT, FIGARO, WIOD, OECD, and more;
* custom databases from Excel, text, CSV, and pandas-based inputs;
* aggregation, SUT-to-IOT conversion, scenario analysis, and exports.


Installation
------------

The package name on PyPI is ``mariopy``, while the import name is ``mario``.

Preferably, create a clean Python environment first:

.. code-block:: bash

   conda create -n mario python=3.10
   conda activate mario

Install from PyPI:

.. code-block:: bash

   pip install mariopy

Install from source:

.. code-block:: bash

   git clone https://github.com/it-is-me-mario/MARIO.git
   cd MARIO
   pip install -e .


Quickstart
----------

A minimal test database is bundled with MARIO:

.. code-block:: python

   import mario

   db = mario.load_test("IOT")

   print(db)
   print(db.get_index("Region"))

   db.calc_all()
   db.to_excel(path="output_folder")

For SUT workflows:

.. code-block:: python

   import mario

   sut = mario.load_test("SUT")
   iot = sut.to_iot(method="B")


Documentation Map
-----------------

The published documentation is organized into a few main sections:

* `Setup `_ for installation and first checks;
* `Concepts `_ for MARIO terminology and conventions;
* `User guide `_ for parsers, inspection, transformations, custom databases, and exports;
* `API reference `_ for method-level documentation;
* `Publications `_ for the software paper and related research.


Citation
--------

Citation guidance and the up-to-date list of publications using MARIO are maintained in the
`Research section of the documentation `_.


License
-------

MARIO is distributed under the
`GNU General Public License v3.0 `_.


Supporting institutions
-----------------------

MARIO grows across two complementary settings.

.. raw:: html

    
Politecnico di Milano Politecnico di Milano. Development stays closer to the academic side: research methods, modelling choices, scientific validation, and documentation-oriented workflows.
eNextGen eNextGen. As a spin-off of Politecnico di Milano, eNextGen brings MARIO into applied settings for companies and organisations, where the same analytical core supports real decarbonisation, sustainability, and decision-support cases.

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 3 days ago

Total Commits: 418
Total Committers: 5
Avg Commits per committer: 83.6
Development Distribution Score (DDS): 0.502

Commits in past year: 140
Committers in past year: 1
Avg Commits per committer in past year: 140.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Mohammad Amin Tahavori 5****t 208
Lorenzo Rinaldi l****3@g****m 190
Nicolò Golinucci n****i@g****m 11
LorenzoRinaldi l****1@g****m 8
Amedeo Felice Alberio a****a@f****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 21 days ago

Total issues: 71
Total pull requests: 87
Average time to close issues: 4 months
Average time to close pull requests: 23 days
Total issue authors: 7
Total pull request authors: 7
Average comments per issue: 0.46
Average comments per pull request: 0.13
Merged pull request: 74
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 4
Past year average time to close issues: N/A
Past year average time to close pull requests: about 1 month
Past year issue authors: 0
Past year pull request authors: 1
Past year average comments per issue: 0
Past year average comments per pull request: 0.0
Past year merged pull request: 3
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/it-is-me-mario/mario

Top Issue Authors

  • LorenzoRinaldi (27)
  • mohammadamint (22)
  • nigolred (18)
  • graebnerc (1)
  • adrienjacob (1)
  • maximikos (1)
  • CamiCit (1)

Top Pull Request Authors

  • mohammadamint (49)
  • LorenzoRinaldi (26)
  • CamiCit (4)
  • nigolred (4)
  • geo-mathijs (2)
  • gitter-badger (1)
  • AAmedeo (1)

Top Issue Labels

  • enhancement (20)
  • bug (17)
  • documentation (5)
  • help wanted (1)
  • deprecate (1)
  • good first issue (1)
  • NXG (1)
  • dependencies (1)
  • FUL (1)

Top Pull Request Labels

  • enhancement (7)
  • deprecate (2)
  • dependencies (2)
  • bug (2)
  • FUL (1)
  • NXG (1)

Package metadata

pypi.org: mariopy

A python package for automating input-output (IO) calculations, models,visualization and scenario analysis

  • Homepage: https://github.com/it-is-me-mario/MARIO
  • Documentation: https://mariopy.readthedocs.io/
  • Licenses: GNU General Public License v3.0
  • Latest release: 0.3.5 (published over 1 year ago)
  • Last Synced: 2026-05-25T23:01:52.378Z (3 days ago)
  • Versions: 10
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 111 Last month
  • Rankings:
    • Dependent packages count: 4.744%
    • Stargazers count: 11.855%
    • Forks count: 11.93%
    • Average: 14.644%
    • Dependent repos count: 21.642%
    • Downloads: 23.052%
  • Maintainers (2)

Dependencies

Pipfile pypi
  • twine * develop
Pipfile.lock pypi
  • bleach ==4.1.0 develop
  • certifi ==2021.10.8 develop
  • charset-normalizer ==2.0.7 develop
  • colorama ==0.4.4 develop
  • docutils ==0.18 develop
  • idna ==3.3 develop
  • importlib-metadata ==4.8.1 develop
  • keyring ==23.2.1 develop
  • packaging ==21.2 develop
  • pkginfo ==1.7.1 develop
  • pygments ==2.10.0 develop
  • pyparsing ==2.4.7 develop
  • pywin32-ctypes ==0.2.0 develop
  • readme-renderer ==30.0 develop
  • requests ==2.26.0 develop
  • requests-toolbelt ==0.9.1 develop
  • rfc3986 ==1.5.0 develop
  • six ==1.16.0 develop
  • tqdm ==4.62.3 develop
  • twine ==3.4.2 develop
  • urllib3 ==1.26.7 develop
  • webencodings ==0.5.1 develop
  • zipp ==3.6.0 develop
doc/docs-requirements.txt pypi
  • IPython >=7.22.0
  • ipykernel *
  • nbsphinx *
  • numpy >=1.21.2
  • openpyxl >=3.0.6
  • pandas >=1.3.3
  • plotly >=4.12.0
  • pymrio >=0.4.6
  • sphinx >=1.6.4
  • sphinx-autobuild *
  • sphinx_rtd_theme >=0.2.4
  • tabulate >=0.8.9
  • xlsxwriter <=1.3.7
requirements.txt pypi
  • IPython >=7.22.0
  • numpy >=1.21.2
  • openpyxl >=3.0.6
  • pandas >=1.3.3
  • plotly >=4.12.0
  • pymrio *
  • tabulate >=0.8.9
  • xlsxwriter <=1.3.7
setup.py pypi
  • IPython *
  • numpy *
  • openpyxl *
  • pandas *
  • plotly *
  • pymrio *
  • tabulate *
  • xlsxwriter *

Score: 10.761089288061603