Signal-Flow-Graph Editor
Project description
SignalFlowGrapher
Version 2.1.3
Minor update from 2.1.0: signalflowgrapher-register will now also work on Linux and macOS.
This version can be installed with pip or downloaded and run locally. Please follow the steps in the section Getting started.
Please report all issues you find to hanspeter.schmid@fhnw.ch or create an issue on github, https://github.com/hanspi42/signalflowgrapher/issues
Getting started
The easiest way is to install it with pip install signalflowgrapher. After that, you can start it with the command signalflowgrapher. On Windows, MacOS and Linux, you can associate .sfg files with the signalflowgrapher by running signalflowgrapher-register, this will also create a shortcut on the desktop. signalflowgrapher-deregister removes the association again.
If you want to download it and run it locally, then clone or download from https://github.com/hanspi42/signalflowgrapher, e.g. using git clone https://github.com/hanspi42/signalflowgrapher. Next:
Install Dependencies
To install the dependencies, you can use either Miniforge or Python environments.
With Miniforge
- If you do not have it yet, download Miniforge from https://conda-forge.org/download/ and install it.
- Open a miniforge prompt.
cdto the top directory of this repository.- Build a python environment with
conda env create --file=requirements/sfg.yml. - Activate the evironment with
conda activate sfg. cd src.- Start the signalflowgrapher with
python -m signalflowgrapher.
With Python evironments
- Get the latest version of Python from https://www.python.org/
- Open the repository’s root directory in a terminal
- Create virtual environment using the command
python -m venv sfg - On Windows run
sfg\Scripts\activate.batorsfg\Scripts\Activate.ps1 - On Unix or MacOS run
source sfg/bin/activate - Run
pip install -r requirements/base.txt cd src.- Start the signalflowgrapher with
python -m signalflowgrapher.
User manual and tips
Manual
There is none yet, but to familiarize yourself with signal-flow graphs, you can
- watch the signalflowgrapher intro video on https://tube.switch.ch/videos/609c0510 ,
- Watch "Signal-Flow Graphs in 12 short lessons" on https://tube.switch.ch/channels/d206c96c?order=episodes ,
- Read our papers, https://link.springer.com/article/10.1007%2Fs10470-018-1131-7 and http://rdcu.be/naw5 .
Tips
- The signalflowgrapher supports export as PNG, but you can get nice SVG versions of the graphs by exporting TikZ, converting it to pdf with pdflatex, and then run https://github.com/dawbarton/pdf2svg .
For Developers
Developer documentation
See more details in Developer documentation for V2.0.
Run unit tests and format tests
- Go to the
signalflowgrapher\src\main\pythondirectory in a terminal or an anaconda terminal - Run
python -m unittest - Run
flake8 -v
License
This package is distributed under the Artistic License 2.0, which you find in the file LICENSE and on the internet on https://opensource.org/licenses/Artistic-2.0.
Contributors
Many people have discussed this, given feedback, reported issues, ...
The largest code contributions are from Simon Näf, Nicolai Wassermann, Michael Saladin, Pascal Gsell, and Hanspeter Schmid.
Authors of Version 0.2
The first version checked in was the result of a bachelor thesis at the University of Applied Sciences and Arts Northwestern Switzerland, https://www.fhnw.ch/en/. Students: Simon Näf and Nicolai Wassermann. Advisors: Dominik Gruntz and Hanspeter Schmid. Contact author: hanspeter.schmid@fhnw.ch
Credits
Implemention of Johnson's algorithm: https://github.com/qpwo/python-simple-cycles
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file signalflowgrapher-2.1.3.tar.gz.
File metadata
- Download URL: signalflowgrapher-2.1.3.tar.gz
- Upload date:
- Size: 466.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df8ee52cfc850a6df0668e614aecfb0638496beec46f3b856f827759138c99ad
|
|
| MD5 |
8eccd2528c96ab482b6492bca7b953fa
|
|
| BLAKE2b-256 |
c86f841df35cff3fe2fb14a30b857d6ddd7741e0f8dd4a4dc9e181654a838aeb
|
File details
Details for the file signalflowgrapher-2.1.3-py3-none-any.whl.
File metadata
- Download URL: signalflowgrapher-2.1.3-py3-none-any.whl
- Upload date:
- Size: 509.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74f24205a5cda501e4a63effda5fd19e566298c2eabaf3819f9b0b38f2dfb206
|
|
| MD5 |
fe17c46861d6c6d3c1cdde0954cb5758
|
|
| BLAKE2b-256 |
62e906128a463b4d7d53c78ae0d78716b98686cc160dc38d5fc2d18377b50458
|