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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mariopy-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 49db0a7e05a670b88ef12c54c742a74eef28de612b1cac4506568a3c4952de81
MD5 9da0ca44dc6bcc8ca00889b68d8050b9
BLAKE2b-256 c7090177d0ac7cbe2e17b69e3135ef30a048aa3d3d27c123f8405d972ad177a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mariopy-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 872.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6a55d1e355d3b7721d6f54a30c8c04fc03b10994a108e3d8c190562b15e7ca32
MD5 1304499fe0bb660f1c0b16b04f398e29
BLAKE2b-256 5b44138ec41259d64baacfd37142350918266b112a216c28ffc8a17e3ccbd599

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