# Qualitative Mathematical Modelling (QMM) in Python

[![Status](https://img.shields.io/badge/Status-Active%20Development-yellow)]()
[![Python Version](https://img.shields.io/badge/Python-3.9%2B-blue)](https://www.python.org/)
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)

![QMM Logo](logo.png)

Qualitative Mathematical Modelling (QMM) is a method for analysing the structure of complex systems where general causal relationships are known but precise quantitative data are lacking. By utilising signed directed digraphs to visualise system structure, QMM enables users to build models of real-world systems and generate testable predictions of system response to perturbations.

## Features

- Python package (`qmm`) for qualitative mathematical modelling, including core modules for defining model structure, stability analysis, perturbation analysis and making qualitative predictions.
- Integration with an interactive web application for creating signed digraph (network) models representing the mathematical structure of a complex system.

## Quick start

1. Install using pip: ```pip install qmm-core```.
2. Create a model using the prototype [web application](https://dev.d1u6yx7pe96k0m.amplifyapp.com/).
3. Import functions using ```import qmm``` to analyse your model in Python.

## Documentation

Detailed documentation for the `qmm` package and its modules is not currently available.

## Licensing

This project is licensed under the BSD 3-Clause License and is **free** and **open source**.

## Contact

Jayden Hyman - <j.hyman@uq.edu.au>
