Create graphs with logarithmic scales, namely Bode diagrams. https://apps.ad5001.eu/logarithmplotter/
Find a file
Ad5001 f4920aadb6
All checks were successful
continuous-integration/drone/push Build is passing
Merge branch 'master' of https://git.ad5001.eu/Ad5001/LogarithmPlotter
2024-10-10 06:50:08 +02:00
assets Translated using Weblate (Spanish) 2024-10-10 03:34:21 +00:00
ci Adding rebuild to scripts 2024-10-01 21:50:10 +02:00
common Starting Settings modules + implemented basic events for ECMAScript <=> Qt compat. 2024-10-10 06:49:14 +02:00
runtime-pyside6 Reorganisation du projet pour séparer le module ECMAScript du reste de l'application. 2024-10-09 20:02:53 +02:00
scripts Adding rebuild to scripts 2024-10-01 21:50:10 +02:00
.gitignore Reorganizing paths 2024-09-30 00:23:39 +02:00
.gitmodules Reorganizing paths 2024-09-30 00:23:39 +02:00
CHANGELOG.md Fixing the icon on wayland, building on MacOS, and date on changelog 2024-03-06 18:52:58 +01:00
LICENSE.md
README.md Reorganisation du projet pour séparer le module ECMAScript du reste de l'application. 2024-10-09 20:02:53 +02:00
run.py Adding rebuild to scripts 2024-10-01 21:50:10 +02:00
snapcraft.yaml Updating remaining paths in scripts 2024-09-30 01:27:30 +02:00

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 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
    • Run poetry install --with test
    • Run scripts/run-tests.sh
    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/>.

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

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 (LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/lib/expr-eval/) except integration.mjs are licensed under the MIT License.