electricalsim


Nameelectricalsim JSON
Version 0.0.8.2 PyPI version JSON
download
home_pageNone
SummaryGraphical user interface for simulating electrical networks based on the pandapower library
upload_time2024-04-30 03:44:00
maintainerNone
docs_urlNone
authorNone
requires_python<3.12,>=3.8
licenseMIT
keywords electrical networks energy power systems simulation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://www.pandapower.org/) 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](https://pypi.org/).

EGS is developed at the *National Technological University, Santa Fe Regional Faculty* ([UTN-FRSF](https://www.frsf.utn.edu.ar/)), at the *Center for Research and Development in Electrical Engineering and Energy Systems* ([CIESE](https://www.frsf.utn.edu.ar/investigacion-y-vinculacion/investigacion-y-vinculacion/centros-y-grupos/ciese)), Argentina.

> __Warning__ <br>
> <span style="color:red">
<b>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).</b>
</span>

## 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](https://www.pandapower.org/) modeling and calculation library for electrical power systems.
* The [Qt](https://www.qt.io/) toolkit with [PySide6](https://wiki.qt.io/Qt_for_Python) bindings for the UI.
* A `Qt6` port (fork) of the [NodeGraphQt](https://github.com/jchanvfx/NodeGraphQt) library for building the graph (schematic network graphic).
* The [PyQtDarkTheme](https://github.com/5yutan5/PyQtDarkTheme) package for applying modern themes (light and dark themes).
* The [QtAwesome](https://github.com/spyder-ide/qtawesome) package for modern flat monochromatic icons.
* The [matplotlib](https://matplotlib.org/) package for plotting calculation results.
* Other scientific Python packages, mainly [NumPy](https://numpy.org/) and [pandas](https://pandas.pydata.org/).

EGS is implemented as a Python package uploaded to the [PyPI repository](https://pypi.org/). ```pandapower``` and other packages listed above are set as dependencies.

> [!NOTE]  
> Starting with version **0.0.8.0**, the EGS package includes a fork of `NodeGraphQt` ported to `Qt6` (using the `PySide6` library). This implementation is renamed to `NodeGraphQt6` in 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 *AC balanced power flow* calculations (other calculations supported by ```pandapower``` may be added in the future). For other types of simulations and calculations, you can proceed according to two alternatives:

1. Export the **Data model** and the last power flow results to a JSON format file ready to be imported from a Python script through ```pandapower```. 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](https://pandapower.readthedocs.io/en/latest/file_io.html#pandapower.from_json), using the ```pandapower.from_json()``` function.

2. 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:
```bash
pip install electricalsim
```

On MS Windows you may prefer:
```bash
python -m pip install electricalsim
```

## Upgrading EGS
In order to upgrade EGS via ```pip```, execute the following in a terminal:

```bash
pip install electricalsim -U
```
On MS Windows you may prefer:
```bash
python -m pip install electricalsim -U
```

## Running EGS
Once installed, you can run it with the command:

```bash
egs
```

If you prefer to run the program in a more practical way, just execute this command only once:

```bash
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:

```bash
pip uninstall electricalsim
```

On MS Windows:
```bash
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:

```bash
pip install electricalsim-opf-quadratic
```

On MS Windows:
```bash
python -m pip install electricalsim-opf-quadratic
```

# License

This project uses the [MIT license](https://github.com/aloytag/electrical-grid-simulator/blob/main/LICENSE).
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "electricalsim",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.8",
    "maintainer_email": null,
    "keywords": "electrical networks, energy, power systems, simulation",
    "author": null,
    "author_email": "\"Dr. Ing. Ariel S. Loyarte\" <aloyarte@frsf.utn.edu.ar>",
    "download_url": "https://files.pythonhosted.org/packages/2a/33/aa2d426b450eb2a2861125fba59c1320981f38867cbfa6d56860e08d9859/electricalsim-0.0.8.2.tar.gz",
    "platform": null,
    "description": "# Electrical Grid Simulator (EGS)\nThe *Electrical Grid Simulator* (abbreviated as **EGS**) is a graphical user interface application for simulating electrical networks based on the [pandapower](https://www.pandapower.org/) 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](https://pypi.org/).\n\nEGS is developed at the *National Technological University, Santa Fe Regional Faculty* ([UTN-FRSF](https://www.frsf.utn.edu.ar/)), at the *Center for Research and Development in Electrical Engineering and Energy Systems* ([CIESE](https://www.frsf.utn.edu.ar/investigacion-y-vinculacion/investigacion-y-vinculacion/centros-y-grupos/ciese)), Argentina.\n\n> __Warning__ <br>\n> <span style=\"color:red\">\n<b>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).</b>\n</span>\n\n## Goals\n- Providing a minimalistic, modern and good-looking interface.\n- Multiplatform: GNU/Linux, MS Windows and Apple MacOS (not tested on MacOS).\n- Providing an extensions system to expand its capabilities.\n\n## How it is built\nEGS is built in Python and entirely from open source and free software. The main core components are:\n\n* The [pandapower](https://www.pandapower.org/) modeling and calculation library for electrical power systems.\n* The [Qt](https://www.qt.io/) toolkit with [PySide6](https://wiki.qt.io/Qt_for_Python) bindings for the UI.\n* A `Qt6` port (fork) of the [NodeGraphQt](https://github.com/jchanvfx/NodeGraphQt) library for building the graph (schematic network graphic).\n* The [PyQtDarkTheme](https://github.com/5yutan5/PyQtDarkTheme) package for applying modern themes (light and dark themes).\n* The [QtAwesome](https://github.com/spyder-ide/qtawesome) package for modern flat monochromatic icons.\n* The [matplotlib](https://matplotlib.org/) package for plotting calculation results.\n* Other scientific Python packages, mainly [NumPy](https://numpy.org/) and [pandas](https://pandas.pydata.org/).\n\nEGS is implemented as a Python package uploaded to the [PyPI repository](https://pypi.org/). ```pandapower``` and other packages listed above are set as dependencies.\n\n> [!NOTE]  \n> Starting with version **0.0.8.0**, the EGS package includes a fork of `NodeGraphQt` ported to `Qt6` (using the `PySide6` library). This implementation is renamed to `NodeGraphQt6` in order to avoid conflicts. These changes allow the application to run on recent versions of Python.\n\n## Simulations and calculations\nWith EGS you can build and set up the model of an electrical grid in a graphical way. The application also allows you to perform *AC balanced power flow* calculations (other calculations supported by ```pandapower``` may be added in the future). For other types of simulations and calculations, you can proceed according to two alternatives:\n\n1. Export the **Data model** and the last power flow results to a JSON format file ready to be imported from a Python script through ```pandapower```. 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](https://pandapower.readthedocs.io/en/latest/file_io.html#pandapower.from_json), using the ```pandapower.from_json()``` function.\n\n2. 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**).\n\nModels 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.\n\n\n\n\n# Installation\nEGS is installed using ```pip```, the official Python package manager.\n\nOn GNU/Linux and MacOS execute the following order in a terminal:\n```bash\npip install electricalsim\n```\n\nOn MS Windows you may prefer:\n```bash\npython -m pip install electricalsim\n```\n\n## Upgrading EGS\nIn order to upgrade EGS via ```pip```, execute the following in a terminal:\n\n```bash\npip install electricalsim -U\n```\nOn MS Windows you may prefer:\n```bash\npython -m pip install electricalsim -U\n```\n\n## Running EGS\nOnce installed, you can run it with the command:\n\n```bash\negs\n```\n\nIf you prefer to run the program in a more practical way, just execute this command only once:\n\n```bash\negs-create-shortcut\n```\n\nThis 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.\n\n\n## Uninstalling\nIf you want to remove the application, execute:\n\n```bash\npip uninstall electricalsim\n```\n\nOn MS Windows:\n```bash\npython -m pip uninstall electricalsim\n```\n\nNote that shortcuts added with the ```egs-create-shortcut``` command are not removed. So you must delete them manually.\n\n## Installing extensions\n\nExtensions available in the PyPI repository can be installed using ```pip```. For example, the Optimal Power Flow extension is installed with:\n\n```bash\npip install electricalsim-opf-quadratic\n```\n\nOn MS Windows:\n```bash\npython -m pip install electricalsim-opf-quadratic\n```\n\n# License\n\nThis project uses the [MIT license](https://github.com/aloytag/electrical-grid-simulator/blob/main/LICENSE).",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Graphical user interface for simulating electrical networks based on the pandapower library",
    "version": "0.0.8.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/aloytag/electrical-grid-simulator/issues",
        "Homepage": "https://github.com/aloytag/electrical-grid-simulator",
        "Repository": "https://github.com/aloytag/electrical-grid-simulator"
    },
    "split_keywords": [
        "electrical networks",
        " energy",
        " power systems",
        " simulation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9e26b248025d865d8df3da72281b0a1eafaa7cc498675e08c29baad6df99f803",
                "md5": "0f224e05293677723a301849b89d10f9",
                "sha256": "5dab4cd2d34ccfa06c11f9f989c46e716de7378d9590e2e84e014e3a1fe6d91c"
            },
            "downloads": -1,
            "filename": "electricalsim-0.0.8.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0f224e05293677723a301849b89d10f9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.8",
            "size": 445285,
            "upload_time": "2024-04-30T03:43:58",
            "upload_time_iso_8601": "2024-04-30T03:43:58.120884Z",
            "url": "https://files.pythonhosted.org/packages/9e/26/b248025d865d8df3da72281b0a1eafaa7cc498675e08c29baad6df99f803/electricalsim-0.0.8.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a33aa2d426b450eb2a2861125fba59c1320981f38867cbfa6d56860e08d9859",
                "md5": "48cfc5e0b85c20cec0804ff2be32ae0f",
                "sha256": "477e6f373a9299996ef46bfb93384e27807bdfbd4503a288ab0d6d25d26fa5e9"
            },
            "downloads": -1,
            "filename": "electricalsim-0.0.8.2.tar.gz",
            "has_sig": false,
            "md5_digest": "48cfc5e0b85c20cec0804ff2be32ae0f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.8",
            "size": 2000690,
            "upload_time": "2024-04-30T03:44:00",
            "upload_time_iso_8601": "2024-04-30T03:44:00.395945Z",
            "url": "https://files.pythonhosted.org/packages/2a/33/aa2d426b450eb2a2861125fba59c1320981f38867cbfa6d56860e08d9859/electricalsim-0.0.8.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-30 03:44:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aloytag",
    "github_project": "electrical-grid-simulator",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "electricalsim"
}
        
Elapsed time: 0.24534s