Skip to content

Ad5001/LogarithmPlotter

Repository files navigation

icon LogarithmPlotter

Build Status Translation status On flathub On Snapcraft

2D plotter software to make Bode plots, sequences and distribution functions.

Screenshots

Magnitude example Phase example Object settings

You can find more screenshots on the app's website.

Build & Run

First, you'll need to install all the required dependencies:

  • Python 3 with poetry, setup a virtual environment, go to the runtime-pyside6 directory, and call poetry install.
  • npm (or yarn), go to the common directory, and run npm install (or yarn install).

You can simply run LogarithmPlotter using python3 run.py. It automatically compiles the language files (requires pyside6-lrelease to be installed and in path), and the JavaScript modules.

If you do not wish do recompile the files again on every run, you can use the build script (scripts/build.sh) and run python3 build/runtime-pyside6/LogarithmPlotter/logarithmplotter.py.

In order to test translations, you can use the --lang=<lang code> commandline option to force the locale.

Install

Generate installers:

All scripts noted here can be found in the scripts directory.

You can generate installers for LogarithmPlotter after installing all the dependencies.

  • Windows installer (crosscompiling from Linux):
    • Run build-wine.sh (requires wine) to build an exe for LogarithmPlotter in build/runtime-pyside6/dist.
    • You also need NSIS (the nsis package is available on linux).
    • Run the package-wine.sh script. You will find a logarithmplotter-setup.exe installer in the build/runtime-pyside6/dist/logarithmplotter/ folder.
  • MacOS Archive creator installer:
    • Run the build-macosx.sh script to build an .app for LogarithmPlotter which can be found in the build/runtime-pyside6/dist directory.
    • Run the package-macosx.sh script. You will find a LogarithmPlotter-v<version>-setup.dmg installer in the build/runtime-pyside6/build/pysdist/ folder.
  • Linux packages:
    • Run package-deb.sh. It will create an DSC and a DEB in build/runtime-pyside6/deb_dist/
    • Run scripts/build.sh followed by snapcraft. It .snap file in the root directory.
    • See the flatpak repo for instrutions on how to build the flatpak.

Contribute

There are several ways you can contribute to LogarithmPlotter.

Tests

To run LogarithmPlotter's tests, follow these steps:

  • Python
    • Install python3 and poetry
    • Create and activate virtual env (recommended)
    • Go into runtime-pyside6 and run poetry install --with test
  • ECMAScript
    • Install node with npm
    • Go into common and run npm install -D

Finally, to actually run the tests: - Run scripts/run-tests.sh

Legal notice

    LogarithmPlotter - 2D plotter software to make Bode plots, sequences and repartition functions.
    Copyright (C) 2021-2024  Ad5001 <mail@ad5001.eu>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

See LICENSE.md for more details. Language files translations located at assets/i18n are licensed under GNU GPL3.0+ and are copyrighted by their original authors:

Libraries used

LogarithmPlotter includes expr-eval a port of ndef.parser by Raphael Graf <r@undefined.ch>, ported to javascript by Matthew Crumley <email@matthewcrumley.com> (http://silentmatt.com/), and then to QMLJS by Ad5001.

All files in (common/src/lib/expr-eval/) except integration.mjs are licensed under the MIT License.