Skip to main content

Signal-Flow-Graph Editor

Project description

SignalFlowGrapher

SignalFlowGrapher Title Image

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.
  • cd to 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.bat or sfg\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

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\python directory 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signalflowgrapher-2.1.3.tar.gz (466.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signalflowgrapher-2.1.3-py3-none-any.whl (509.9 kB view details)

Uploaded Python 3

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

Hashes for signalflowgrapher-2.1.3.tar.gz
Algorithm Hash digest
SHA256 df8ee52cfc850a6df0668e614aecfb0638496beec46f3b856f827759138c99ad
MD5 8eccd2528c96ab482b6492bca7b953fa
BLAKE2b-256 c86f841df35cff3fe2fb14a30b857d6ddd7741e0f8dd4a4dc9e181654a838aeb

See more details on using hashes here.

File details

Details for the file signalflowgrapher-2.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for signalflowgrapher-2.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 74f24205a5cda501e4a63effda5fd19e566298c2eabaf3819f9b0b38f2dfb206
MD5 fe17c46861d6c6d3c1cdde0954cb5758
BLAKE2b-256 62e906128a463b4d7d53c78ae0d78716b98686cc160dc38d5fc2d18377b50458

See more details on using hashes here.

Supported by

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