2024-10-11 18:21:03 +02:00
#  LogarithmPlotter
2024-09-22 18:44:45 +02:00
2021-10-01 17:35:50 +02:00
[](https://ci.ad5001.eu/Ad5001/LogarithmPlotter)
2022-01-21 12:06:25 +01:00
[](https://hosted.weblate.org/engage/logarithmplotter/)
2022-01-20 12:10:11 +01:00
[](https://flathub.org/apps/details/eu.ad5001.LogarithmPlotter)
2022-01-21 11:49:34 +01:00
[](https://snapcraft.io/logarithmplotter)
2021-06-02 19:14:42 +02:00
2022-01-21 12:06:25 +01:00
2D plotter software to make Bode plots, sequences and distribution functions.
2022-01-25 18:43:47 +01:00
## Screenshots
2024-09-22 18:44:45 +02:00
2022-01-25 18:43:47 +01:00


2022-01-26 08:39:46 +01:00

2022-01-25 18:43:47 +01:00
2024-09-21 03:21:49 +02:00
You can find more screenshots on the [app's website ](https://apps.ad5001.eu/logarithmplotter/ ).
2022-01-25 18:43:47 +01:00
2024-09-26 00:01:30 +02:00
## Build & Run
2021-06-22 18:39:03 +02:00
2024-09-26 00:01:30 +02:00
First, you'll need to install all the required dependencies:
2024-09-30 01:27:30 +02:00
- [Python 3 ](https://python.org ) with [poetry ](https://python-poetry.org/ ), setup a virtual environment, go to the `runtime-pyside6` directory, and call
2024-09-26 00:01:30 +02:00
`poetry install` .
2024-09-30 01:27:30 +02:00
- [npm ](https://npmjs.com ) (or [yarn ](https://yarnpkg.com/ )), go to the `common` directory, and run `npm install` (or `yarn install` ).
2024-09-26 00:01:30 +02:00
You can simply run LogarithmPlotter using `python3 run.py` . It automatically compiles the language files (requires
2024-10-17 05:28:03 +02:00
`pyside6-lrelease` to be installed and in path), and the JavaScript modules.
2024-09-26 00:01:30 +02:00
2024-09-30 01:27:30 +02:00
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` .
2021-06-22 18:39:03 +02:00
2024-09-21 03:21:49 +02:00
In order to test translations, you can use the `--lang=<lang code>` commandline option to force the locale.
2022-01-21 12:06:25 +01:00
2021-06-02 19:14:42 +02:00
## Install
2021-06-22 18:39:03 +02:00
### Generate installers:
2024-09-22 18:44:45 +02:00
2022-01-26 19:48:46 +01:00
All scripts noted here can be found in the `scripts` directory.
2024-09-26 00:01:30 +02:00
You can generate installers for LogarithmPlotter after installing all the dependencies.
2024-09-22 18:44:45 +02:00
2024-09-30 01:27:30 +02:00
- 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 ](https://nsis.sourceforge.io/Main_Page ) (the [nsis ](https://pkgs.org/download/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.
2024-09-22 18:44:45 +02:00
- MacOS Archive creator installer:
2024-09-30 01:27:30 +02:00
- Run the `build-macosx.sh` script to build an .app for LogarithmPlotter which can be found in the build/runtime-pyside6/dist directory.
2024-09-22 18:44:45 +02:00
- Run the `package-macosx.sh` script. You will find a LogarithmPlotter-v< version> -setup.dmg installer in the
2024-09-30 01:27:30 +02:00
build/runtime-pyside6/build/pysdist/ folder.
2021-06-22 18:39:03 +02:00
- Linux packages:
2024-09-30 01:27:30 +02:00
- 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 ](https://github.com/Ad5001/eu.ad5001.LogarithmPlotter ) for instrutions on how to build the flatpak.
2021-06-02 19:14:42 +02:00
2022-01-21 12:06:25 +01:00
## Contribute
2024-09-22 18:44:45 +02:00
There are several ways you can contribute to LogarithmPlotter.
2022-01-21 12:06:25 +01:00
- You can help to translate [the project on Hosted Weblate ](https://hosted.weblate.org/engage/logarithmplotter/ ):
2024-09-22 18:44:45 +02:00
[](https://hosted.weblate.org/engage/logarithmplotter/)
2022-01-21 12:06:25 +01:00
2024-09-22 18:44:45 +02:00
- You can help the development of LogarithmPlotter. In order to get started, take a look at
the [wiki ](https://git.ad5001.eu/Ad5001/LogarithmPlotter/wiki/_pages ).
2022-01-21 12:06:25 +01:00
2024-09-18 00:30:58 +02:00
## Tests
2024-09-21 03:21:49 +02:00
To run LogarithmPlotter's tests, follow these steps:
2024-09-18 00:30:58 +02:00
- Python
2024-09-22 18:44:45 +02:00
- Install python3 and [poetry ](https://python-poetry.org/ )
2024-10-14 17:18:58 +02:00
- 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:
2024-09-22 18:44:45 +02:00
- Run `scripts/run-tests.sh`
2024-09-18 00:30:58 +02:00
2021-06-02 19:14:42 +02:00
## Legal notice
2024-09-22 18:44:45 +02:00
2024-09-21 03:21:49 +02:00
LogarithmPlotter - 2D plotter software to make Bode plots, sequences and repartition functions.
2024-01-11 00:11:09 +01:00
Copyright (C) 2021-2024 Ad5001 < mail @ad5001 .eu >
2021-06-02 19:14:42 +02:00
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 / > .
2022-01-24 18:27:16 +01:00
2024-10-26 01:06:24 +02:00
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:
2024-09-22 18:44:45 +02:00
2022-01-26 08:39:46 +01:00
- 🇭🇺 Hungarian translation by [Óvári ](https://github.com/ovari )
2024-09-16 19:34:35 +02:00
- 🇳🇴 Norwegian translation by [Allan Nordhøy ](https://github.com/comradekingu )
- 🇪🇸 Spanish translation by gallegonovato and [IngrownMink4 ](https://github.com/IngrownMink4 )
2022-04-02 18:17:09 +02:00
### Libraries used
2024-09-22 18:44:45 +02:00
LogarithmPlotter includes [expr-eval ](https://github.com/silentmatt/expr-eval ) a port
of [ndef.parser ](https://web.archive.org/web/20111023001618/http://www.undefined.ch/mparser/index.html ) by Raphael Graf
< r@undefined .ch> , ported to javascript by Matthew Crumley
< email@matthewcrumley .com> (http://silentmatt.com/), and then to QMLJS by Ad5001.
2022-04-02 18:17:09 +02:00
2024-10-26 01:06:24 +02:00
All files in (common/src/lib/expr-eval/) except integration.mjs are licensed
2024-09-22 18:44:45 +02:00
under the [MIT License ](https://raw.githubusercontent.com/silentmatt/expr-eval/master/LICENSE.txt ).