Metadata-Version: 2.1
Name: MelodieStudio
Version: 0.7.0
Summary: A web-based toolbox for Melodie ABM package.
Home-page: https://github.com/ABM4ALL/MelodieStudio
Author: Songmin Yu, Zhanyi Hou
Author-email: abm4all@outlook.com
License: BSD 3
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: Unix
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >3.5
Description-Content-Type: text/markdown
Requires-Dist: chardet
Requires-Dist: websockets
Requires-Dist: sqlalchemy
Requires-Dist: flask
Requires-Dist: flask-cors
Requires-Dist: astunparse
Requires-Dist: pprintast
Requires-Dist: psutil
Requires-Dist: watchdog
Requires-Dist: flask-sock
Requires-Dist: py-ts-interfaces
Requires-Dist: jedi
Requires-Dist: rpyc
Requires-Dist: websocket-client
Requires-Dist: brotli
Requires-Dist: pywinpty ; os_name == "nt"

# MelodieStudio

## Introduction 

`MelodieStudio` is a package developed in parallel with `Melodie`, 
which interacts with the `Melodie.Visualizer` module and visualizes the simulation results in the browser.

![Functional Areas](docs/pics/function-areas.png)

As shown, the visualizer page includes three parts: 

- Toolbar
    - Including several components controlling the simulation, saving and loading custom parameter set.
- Parameter Space
    - Listing parameters that affect the model.
    - Customizable in the model-specific `visualizer.py` file.
- Canvas
    - Web-based visualization components for `Grid` and `Network`.
    - Web-based charts, including line chart, bar chart, etc.
    - Customizable in the model-specific `visualizer.py` file.
    <!--
        - Layout of visualization components and charts, together with chart styles, can be configured by webpage, not coding. [Unstable]
    -->

Here are two examples - [CovidGridContagionVisual](https://github.com/ABM4ALL/CovidGridContagionVisual) and 
[CovidNetworkContagionVisual](https://github.com/ABM4ALL/CovidNetworkContagionVisual) - 
using the `MelodieStudio` package, and they are explained in this 
[document](https://abm4all.github.io/Melodie/html/gallery/covid_contagion_visual.html).


## User Installation
### PIP installation
```sh
pip install MelodieStudio
```
### Run MelodieStudio
```sh
python -m MelodieStudio
```
If you are running a visualizer, please start the MelodieStudio in the root path of your ABM project.

## Developer Installation
### Project setup
```sh
npm install
```
### Compiles and hot-reloads for development
```sh
npm run serve
```
### Compiles and minifies for production
```sh
npm run build
```
### Dist wheel with building webpage:
```sh
python build_web.py # build webpage
python setup.py bdist_wheel # build wheel, and include the webpage.
```

## Technical Introduction

This project is based on Vue, Element-Plus and Echarts. Besides, the structure of project is based on [Vue-Onepiece-Admin](https://github.com/Mstian/Vue-Onepiece-Admin).




