Skip to main content
https://img.shields.io/badge/code%20style-black-000000.svg Documentation Status https://badge.fury.io/py/mariopy.svg https://zenodo.org/badge/421900437.svg

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 three sections:

  • Get started for installation, nomenclature, table formats and scenarios;

  • Docs for parsers, inspection, transformations, advanced workflows and the API reference;

  • Resources for the software paper and related research.

Citation

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

Contributing

Contributions are welcome. To report a bug or suggest a feature, open an issue on GitHub. To contribute code or documentation, open a pull request against main; for larger changes, open an issue first or contact the maintainers so we can agree on the approach.

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.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mariopy 1.3.0
File Size Uploaded
mariopy-1.3.0.tar.gz 1.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for mariopy 1.3.0
File Interpreter ABI Platform
mariopy-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.1 MB

Release files / mariopy-1.3.0.tar.gz

Download URL mariopy-1.3.0.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
5b0923436ff7924ab3197e205f131b7b5aa5a5f3dc63a506917e918b3b23e5ed
BLAKE2b-256 checksum
How to use checksums
f7eb973be37ba06e60c8928b2d8898507307af7f965546ca0c9ed2372c144d7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.4

Release files / mariopy-1.3.0-py3-none-any.whl

Download URL mariopy-1.3.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1b4f28bdef303c4a21f06847a56116716f6d7878d437ee287c0b894344424030
BLAKE2b-256 checksum
How to use checksums
26e1e4821f7a78d4fa8e054c8ba1da73963ea235fe48714caf4088a3051733de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.4

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

1 release file

0.3.5

2 release files

0.3.4

2 release files

0.3.3

1 release file

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

1 release file

0.2.0

2 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page