assets | ||
ci | ||
common | ||
runtime-pyside6 | ||
scripts | ||
.gitignore | ||
.gitmodules | ||
CHANGELOG.md | ||
LICENSE.md | ||
README.md | ||
run.py | ||
snapcraft.yaml |
LogarithmPlotter
2D plotter software to make Bode plots, sequences and distribution functions.
Screenshots
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 callpoetry install
. - npm (or yarn), go to the
common
directory, and runnpm install
(oryarn 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.
- Run
- 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.
- Run the
- 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 bysnapcraft
. It .snap file in the root directory. - See the flatpak repo for instrutions on how to build the flatpak.
- Run
Contribute
There are several ways you can contribute to LogarithmPlotter.
-
You can help to translate the project on Hosted Weblate:
-
You can help the development of LogarithmPlotter. In order to get started, take a look at the wiki.
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 runpoetry install --with test
- ECMAScript
- Install node with npm
- Go into
common
and runnpm 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/>.
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:
- 🇭🇺 Hungarian translation by Óvári
- 🇳🇴 Norwegian translation by Allan Nordhøy
- 🇪🇸 Spanish translation by gallegonovato and IngrownMink4
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.