https://github.com/rexemin/nagui
A Dash application for network optimization algorithms.
https://github.com/rexemin/nagui
dash network-algorithms optimization-algorithms
Last synced: 4 months ago
JSON representation
A Dash application for network optimization algorithms.
- Host: GitHub
- URL: https://github.com/rexemin/nagui
- Owner: rexemin
- License: gpl-3.0
- Created: 2019-05-07T05:11:20.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-03-12T00:01:07.000Z (about 6 years ago)
- Last Synced: 2025-02-15T10:29:06.147Z (over 1 year ago)
- Topics: dash, network-algorithms, optimization-algorithms
- Language: D
- Homepage:
- Size: 7.21 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Network Algorithms with a GUI (nagui)
A [Dash](https://plot.ly/dash/) application in Python 3 with a [D](https://dlang.org/) backend to create graphs, digraphs, and networks, and run common optimization algorithms on them.
The split between the front-end in Python and the back-end in D is a long story, but it grew out of an experiment I did during an undergraduate course.
## Dependencies
All the data structures and algorithms are located in the directory `app/lib`.
To compile them you need [rdmd](https://dlang.org/rdmd.html).
The Dash application needs the following dependencies:
- dash
- dash_bootstrap_components
- dash_cytoscape
- numpy
- networkx
## Running it
There are different ways to run this program, depending on whether you have (or want to have) D installed.
### Using D and Python
If you have both languages, clone this repository and run the `install.sh` script.
This script will create a Python virtual environment with all dependencies needed, and compile the complete D library.
After that, you can run `run.sh` to display the application locally.
### Using only Python
If you don't have, or don't want to use, D, you can download a version of nagui with the D library precompiled [here](https://github.com/rexemin/nagui/releases).
After that, enter the main directory of the application and run `run.sh`.
If you don't already have a Python virtual environment, it will automatically create it.
### Alternatives
Of course, you can still manage everything manually.
The D library has a makefile to compile it.
The entry point for the Dash application is the file `index.py`.