Skip to main content

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

Project description

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.

Preferably, create a clean Python environment first:

conda create -n mario python=3.11
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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mariopy-1.0.3.tar.gz (39.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mariopy-1.0.3-py3-none-any.whl (882.0 kB view details)

Uploaded Python 3

File details

Details for the file mariopy-1.0.3.tar.gz.

File metadata

  • Download URL: mariopy-1.0.3.tar.gz
  • Upload date:
  • Size: 39.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for mariopy-1.0.3.tar.gz
Algorithm Hash digest
SHA256 e6d0c97a907f6932488443ef3016f064dc2431250b9a0c21427fae021cc0a681
MD5 fd18ae5c4338476ac03ee8b985edeede
BLAKE2b-256 5543e0a897f70e3ec80efb50a9bd22bdf315f65f60f03ad0df09b910d63c55a9

See more details on using hashes here.

File details

Details for the file mariopy-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: mariopy-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 882.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for mariopy-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 175a05c7b3d4baab2b022da84dc9d5346b975bf36ca0fe6cbf4746f4194d284f
MD5 3e32041ac3db7ef649d58412f05690c7
BLAKE2b-256 259e0cc0c5336b7c53cdf6485bd90cf5a2bc46db76d2dd0dbe73d163ac51b084

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page