Skip to main content

Implements the models presented in Fumagalli et al. (2020)

Project description

CI codecov CodeQL Code Style Check CodeFactor GitHub repo size GitHub license GitHub release (latest by date) PyPI - Status PyPI - Python Version Streamlit App

This package implements the models presented in Fumagalli et al. (2020) (note, that the version from 2020 is implemented). Additionally, extensions from the models are explained in Extension of Fumagalli et al (2020).pdf.

Installation

You can either install the package (functionality only) or download the whole repository (with documentation and assets).

Package

Install the latest release from PyPi:

$ pip install Fumagalli-Motta-Tarantino-2020

Or install this package directly from source:

$ pip install git+https://github.com/manuelbieri/Fumagalli_2020.git

The necessary dependencies are automatically installed during the setup.

Repository

If you would like to get the whole repository, download it here or clone it with GIT (requires GIT installation):

$ git clone https://github.com/manuelbieri/Fumagalli_2020.git

Install the dependencies for the repository with the following command (Note: Make sure you are operating in the same directory, where the requirements.txt is located.):

$ pip install -r requirements.txt

Note: This package requires a working latex installation for the plots!

Basic Usage

import Fumagalli_Motta_Tarantino_2020 as FMT20

# initialize the model (here you can adjust the parameters of the model)
# all other models conform to the interface defined in FMT20.OptimalMergerPolicy
model: FMT20.OptimalMergerPolicy = FMT20.OptimalMergerPolicy()

# print a summary of the outcome
print(model.summary())

# plot a model overview
FMT20.Overview(model).show()

# open the API-documentation
FMT20.docs()

# open the GitHub-repository
FMT20.repo()

A tutorial is included with the notebook Tutorial.ipynb. Additionally, find the latest documentation including all the details on manuelbieri.ch/fumagalli_2020.

Note: mybinder.org is currently not supported, since this package needs at least python 3.9.

Overview

This sections provides a quick overview for this repository.

Assets

Additional files about the code style (scripts), class diagram and a more detailed project overview (Fumagalli_Motta_Tarantino_2020.Project).

Docs

Contains the files of the automatically generated API - documentation

Fumagalli_Motta_Tarantino_2020

Contains the actual code of the package. See Fumagalli_Motta_Tarantino_2020.Models and Fumagalli_Motta_Tarantino_2020.Visualizations for the available models and visualization options. In Fumagalli_Motta_Tarantino_2020.Notebooks are some jupyter notebooks included (e.g., Interactive.ipynb or Tutorial.ipynb).

Tests

Run the unittests shipped in Fumagalli_Motta_Tarantino_2020.Tests with the following command (pay attention to the current working directory):

$ python -m unittest discover Fumagalli_Motta_Tarantino_2020.Tests

For explanations about the tests, have a look at Fumagalli_Motta_Tarantino_2020.Tests. See codecov.io for a detailed report about the test coverage.

Code style

As the default code style Black is used and automatically checked and enforced by GitHub - workflows. To run black in the terminal either run assets/code style/run_black.sh or use the following command:

$ python -m black ./Fumagalli_Motta_Tarantino_2020

This command modifies the source code if the preset rules are not met. You can as well just check, whether the rules are met or not with assets/code style/check_black.sh or:

$ python -m black ./../../Fumagalli_Motta_Tarantino_2020 --diff

Generate Documentation

Generate the documentation with the following command (as always be aware of the working directory):
$ pdoc -o docs Fumagalli_Motta_Tarantino_2020 --docformat numpy --math

or run the shell-script docs/build.sh in the terminal.

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

fumagalli_motta_tarantino_2020-1.0.2.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for fumagalli_motta_tarantino_2020-1.0.2.tar.gz
Algorithm Hash digest
SHA256 57cf02864da9e6277301af0f0231d43a15f8851c3454529b2000857941681d1d
MD5 b8e6117ecd6fea64861fd24a8ee4234f
BLAKE2b-256 ad1956bc502c95c597209e545dffc6636b1c02ae0008768dc804fdb23e4f3f7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Fumagalli_Motta_Tarantino_2020-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 611fc8b4b475a2d8a73f12d1e7026b2bd6549b69517ca8e922f23a97fc1d86b2
MD5 344991e69a6766271f377e80e4fe9634
BLAKE2b-256 52ece086e968d442164b98e73850ddbf5514663b5da28ffa1d77a7613d6f5c05

See more details on using hashes here.

Supported by

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