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.
MARIO requires Python 3.11, 3.12 or 3.13 (>=3.11,<3.14). Python 3.14 and later are not supported because the pinned NumPy version (numpy==2.1.1) supports Python only up to 3.13.
Create a clean environment with an explicit supported Python version:
conda create -n mario python=3.12
conda activate mario
Install from PyPI:
pip install mariopy
Parquet import and export support is included in the default installation.
Install from source:
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:
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:
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.
Metadata
Release files for mariopy 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mariopy-1.2.0.tar.gz | 16.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mariopy-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.8 MB
Release files / mariopy-1.2.0.tar.gz
| Download URL | mariopy-1.2.0.tar.gz |
|---|---|
| Size | 16.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
181e72acbe7cb5ec4126f54336b2fc4729481579ca40f71b554928660fc7c6e1
|
|
BLAKE2b-256 checksum How to use checksums |
b3e84717a69045e746a369c9d87aaf380c63f3bb881220e30eae3fc1c8a22ff5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / mariopy-1.2.0-py3-none-any.whl
| Download URL | mariopy-1.2.0-py3-none-any.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7d7403bea3efe72aa262ee95d1459ed3d769153ca9d53a9294ae7fd96f74773c
|
|
BLAKE2b-256 checksum How to use checksums |
20ca8942c2d92e028eaff677fc56a90ddaca158bd6ba210c0fac6e790fb87f25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|