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 with Parquet support:

pip install "mariopy[parquet]"

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.1.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.1-py3-none-any.whl (866.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mariopy-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 0387d5f5dba605fa169acfa30738985a64471d48c1dfb394052f2448c1dbb736
MD5 56fcbcf25ed0b6451fa2600981187224
BLAKE2b-256 ae968c2817e93ef4128dbe681bb41342a84e955b487953ab9b5569971396d144

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mariopy-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 866.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4d74af76099ed9220671806ff8ce0e2ca530277c0d280737510f7871abc30be4
MD5 f2df475b206f12908cac5e0fb2dd6196
BLAKE2b-256 2a810a8efc80e8ef882ce4e99f2d838dc2207e4337ffa1b4ecf6c759746c5678

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