Metadata-Version: 2.1
Name: hvlbuzz
Version: 2023.11
Summary: Compute surface gradient of overhead power lines / prediction of audible noise and electromagnetic field at ground
Author: Aldo Tobler, Sören Hedtke, Pascal Bleuler, Henrik Menne, Gerhard Bräunlich
Author-email: faldo@student.ethz.ch, hedtkec@ethz.ch, bleulerp@ethz.ch, menne@fkh.ch, g.braeunlich@disroot.org
Maintainer: Henrik Menne, Gerhard Bräunlich
License: GPL3v3
Project-URL: Source, https://gitlab.com/ethz_hvl/hvlbuzz
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
License-File: AUTHORS.md
Requires-Dist: Kivy==2.1.0
Requires-Dist: numpy>=1.18
Requires-Dist: matplotlib==3.7.1
Requires-Dist: reportlab<4.0.0,>=3.5
Requires-Dist: pywin32>=1.0; platform_system == "Windows"
Provides-Extra: type-check
Requires-Dist: types-six; extra == "type-check"

<div align="center">

![logo](./docs/img/buzz.svg){width=25%}

[![python version](https://img.shields.io/pypi/pyversions/hvlbuzz.svg?logo=python&logoColor=white)](https://pypi.org/project/hvlbuzz)
[![latest version](https://img.shields.io/pypi/v/hvlbuzz.svg)](https://pypi.org/project/hvlbuzz)
[![pipeline status](https://gitlab.com/ethz_hvl/hvlbuzz/badges/main/pipeline.svg)](https://gitlab.com/ethz_hvl/hvlbuzz/-/commits/main)
[![License](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
[![Checked with pylint](https://img.shields.io/badge/pylint-checked-blue)](https://github.com/PyCQA/pylint)


HVLBuzz is a simulation tool to calculate the surface gradient of
overhead power lines and predict the audible noise and electromagnetic
field at ground.

[Install](#installation) •
[Usage](#usage) •
[📖 Docs](https://ethz_hvl.gitlab.io/hvlbuzz/)

</div>

# HVLBuzz

## Installation

Operating System | Download
---|---
🪟 Windows (64 bit) | [![](./docs/img/get_windows.svg)](../-/jobs/artifacts/main/raw/dist/buzz.zip?job=exe)
🐧 Linux | `pip install hvlbuzz`
🍏 Mac | `pip install hvlbuzz`

## Development setup

It is recommended that you use a Python virtual envioronement to run
HVLBuzz. Run the following command to create folder called `kivy_venv`
inside which your environement will live. **The latest version of
Python this code has been tested with was 3.10**

```sh
python -m venv kivy_venv
```

Activate your virtual environement by running

```sh
kivy_venv\Scripts\activate.bat # 🪟
. kivy_venv/bin/activate # 🐧 / 🍏
```

Then install hvlbuzz into your environement as follows

```sh
pip install .
pip install garden.matplotlib/
```

This will also install an executable python script in your environments `bin` folder.

## Usage

To run the binary obtained in the install part, run

```sh
hvlbuzz
```

Alternatively, the module is can also be started from python:

```sh
python -m hvlbuzz
```
or

```sh
python hvlbuzz
```

## Compiling your own packaged version

The source code can also be compiled by yourself using
[PyInstaller](https://www.pyinstaller.org/) using the provided
[hvlbuzz/buzz.spec](hvlbuzz/buzz.spec) file.

```bash
pyinstaller hvlbuzz/buzz.spec
```

A `buzz.exe` binary will be available in a (newly created if
non-existing) `dist\buzz` folder.

## Credits

HVLBuzz was designed as a Student Thesis of Aldo Tobler,
supervised by Sören Hedtke and Christian Franck from the High Voltage
Lab (HVL), D-ITET, ETH.

This tool is completely free to use as is and only requires freely
available [Python](https://www.python.org/) libraries to run. The GUI
is based on the [Kivy](https://kivy.org/#home) framework, while the
mathematical computations and plot generation rely the widely used
[NumPy](https://numpy.org/) and [Matplotlib](https://matplotlib.org/).
