Electrical Grid Simulator (EGS)
The Electrical Grid Simulator (abbreviated as EGS) is a graphical user interface application for simulating electrical networks based on the pandapower library. The main objective is to allow the creation of mathematical models for steady-state electrical grids from a user-friendly interface. It adds an extensions system for including new calculation or simulation algorithms. Extensions are implemented as standard Python packages, so they can be distributed through the PyPI repository.
EGS is developed at the National Technological University, Santa Fe Regional Faculty (UTN-FRSF), at the Center for Research and Development in Electrical Engineering and Energy Systems (CIESE), Argentina.
Warning
This application is in an early stage of development. So you can expect incomplete sections and some (or many) bugs. New changes may cause incompatibilities with older versions (old files that no longer work with newer versions of the program).
Goals
- Providing a minimalistic, modern and good-looking interface.
- Multiplatform: GNU/Linux, MS Windows and Apple MacOS (not tested on MacOS).
- Providing an extensions system to expand its capabilities.
How it is built
EGS is built in Python and entirely from open source and free software. The main core components are:
- The pandapower modeling and calculation library for electrical power systems.
- The Qt toolkit with PySide6 bindings for the UI.
- A
Qt6port (fork) of the NodeGraphQt library for building the graph (schematic network graphic). - The PyQtDarkTheme package for applying modern themes (light and dark themes).
- The QtAwesome package for modern flat monochromatic icons.
- The matplotlib package for plotting calculation results.
- Other scientific Python packages, mainly NumPy and pandas.
EGS is implemented as a Python package uploaded to the PyPI repository. pandapower and other packages listed above are set as dependencies.
[!NOTE]
Starting with version 0.0.8.0, the EGS package includes a fork ofNodeGraphQtported toQt6(using thePySide6library). This implementation is renamed toNodeGraphQt6in order to avoid conflicts. These changes allow the application to run on recent versions of Python.
Simulations and calculations
With EGS you can build and set up the model of an electrical grid in a graphical way. The application also allows you to perform balanced power flow calculations (other calculations supported by pandapower may be added in the future), including a Balanced Altern Current Power Flow (ACPF) and a Direct Current Power Flow (DCPF). For other types of simulations and calculations, you can proceed according to two alternatives:
-
Export the Data model and the last power flow results to a JSON, MS Excel or binary file (using the
picklemodule) ready to be imported from a Python script throughpandapower. Then, any calculation or processing can be done from the script. The export is done from the graphical interface, while the subsequent import is done as indicated in the pandapower documentation, using one of the fuctions:pandapower.from_json(),pandapower.from_excel()orpandapower.from_pickle(). -
Incorporate the required calculation functionality from an extension developed in Python. This way, the calculation is executed from within EGS. Extensions are implemented as regular Python packages. An Optimal Power Flow (OPF) extension is available in the PyPI repository (package name: electricalsim-opf-quadratic).
Models generated by EGS can be saved in a .egs file. You can then reopen the file whenever you need it and retrieve even the results of the last power flow run.
Installation
EGS is installed using pip, the official Python package manager.
On GNU/Linux and MacOS execute the following order in a terminal:
pip install electricalsim
On MS Windows you may prefer:
python -m pip install electricalsim
Upgrading EGS
In order to upgrade EGS via pip, execute the following in a terminal:
pip install electricalsim -U
On MS Windows you may prefer:
python -m pip install electricalsim -U
Running EGS
Once installed, you can run it with the command:
egs
If you prefer to run the program in a more practical way, just execute this command only once:
egs-create-shortcut
This will add a shortcut launcher to your desktop and to your application menu. Note that this launcher will not work if you are installing the application into a Python virtual environment.
Uninstalling
If you want to remove the application, execute:
pip uninstall electricalsim
On MS Windows:
python -m pip uninstall electricalsim
Note that shortcuts added with the egs-create-shortcut command are not removed. So you must delete them manually.
Installing extensions
Extensions available in the PyPI repository can be installed using pip. For example, the Optimal Power Flow extension is installed with:
pip install electricalsim-opf-quadratic
On MS Windows:
python -m pip install electricalsim-opf-quadratic
License
This project uses the MIT license.
Metadata
Release files for electricalsim 0.0.8.23
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| electricalsim-0.0.8.23.tar.gz | 3.3 MB | Without provenance | Details for electricalsim-0.0.8.23.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| electricalsim-0.0.8.23-py3-none-any.whl | Python 3 | none | any | Details for electricalsim-0.0.8.23-py3-none-any.whl |
Total release size: 4.7 MB
Release files / electricalsim-0.0.8.23.tar.gz
| Download URL | electricalsim-0.0.8.23.tar.gz |
|---|---|
| Size | 3.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d8d33fd3ec640999064d2eedeac31a28d53c65ba1f18762e3a3364f7ccd0ebe
|
|
BLAKE2b-256 checksum How to use checksums |
7aba4c5f8366ee8aae332f2f534932944e203ee876cd13967d52abdba4819d50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / electricalsim-0.0.8.23-py3-none-any.whl
| Download URL | electricalsim-0.0.8.23-py3-none-any.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
02c0c289dc33b7a0f3c05695ee72c1bbf5992f8c56e178d2b4e1177f3fd5fc3e
|
|
BLAKE2b-256 checksum How to use checksums |
219200ac410c722057d22661033a4db1cd74fcda0c80fa24f03bd4bb5941ca54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for electricalsim 0.0.8.23
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.