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.10
conda activate mario

Install from PyPI:

pip install mariopy

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

mariopy-1.0.0-py3-none-any.whl (863.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mariopy-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 863.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 66fac978caf0f6743c6228f0ce0506d38822bf52559bfca1ce04fca59e7a822a
MD5 c422068de8fb7335185483b668409b44
BLAKE2b-256 f5f9cc75a76e99b775efcccb208713d08229b117cdcebba7cce36791d3c0d0da

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