Metadata-Version: 2.3
Name: eas-3d-pattern
Version: 0.1.1
Summary: A tool to visualize 3D antenna pattern files in JSON format.
License: MIT License
         
         Copyright (c) 2025 Ericsson
         
         Permission is hereby granted, free of charge, to any person obtaining a copy
         of this software and associated documentation files (the "Software"), to deal
         in the Software without restriction, including without limitation the rights
         to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
         copies of the Software, and to permit persons to whom the Software is
         furnished to do so, subject to the following conditions:
         
         The above copyright notice and this permission notice shall be included in all
         copies or substantial portions of the Software.
         
         THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
         IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
         FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
         AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
         LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
         OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
         SOFTWARE.
Keywords: antenna,pattern,3d pattern,visualization,NGMN,BASTA,RF,JSON
Author: Georg Polownikow
Author-email: georg.polownikow@ericsson.com
Requires-Python: >=3.11,<3.14
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Dist: jsonschema (>=4.24.0,<5.0.0)
Requires-Dist: kaleido (>=0.1.0post1,<0.2.0)
Requires-Dist: numpy (>=2.0.0,<3.0.0)
Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
Requires-Dist: pandas (>=2.2.2,<3.0.0)
Requires-Dist: plotly (>=5.24.1,<6.0.0)
Requires-Dist: requests (>=2.32.2,<3.0.0)
Requires-Dist: tqdm (>=4.67.1,<5.0.0)
Requires-Dist: xarray (>=2025.3.1,<2026.0.0)
Project-URL: Homepage, https://www.ericsson.com/antenna-system
Project-URL: Repository, https://github.com/Ericsson/eas-3d-pattern
Description-Content-Type: text/markdown

# eas-3d-pattern

[![PyPI version](https://img.shields.io/pypi/v/eas-3d-pattern.svg)](https://pypi.org/project/eas-3d-pattern/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/eas-3d-pattern.svg)](https://pypi.org/project/eas-3d-pattern/)
[![PyPI - License](https://img.shields.io/pypi/l/eas-3d-pattern.svg)](https://github.com/Ericsson/eas-3d-pattern/blob/main/LICENSE)
[![Linter: Ruff](https://img.shields.io/badge/Linter-Ruff-blue.svg)](https://github.com/astral-sh/ruff)

eas-3d-pattern is python library to **visualize** and make simple **beam efficiency calculations** on **3D antenna pattern data** which follows the NGMN BASTA schema.


## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install eas-3d-pattern.

```bash
pip install eas-3d-pattern
```

## Usage
```python
from eas_3d_pattern import AntennaPattern, SAMPLE_JSON

pattern = AntennaPattern(SAMPLE_JSON[0], validate=True) # reads a JSON and validates schema
pattern.calculate_beam_efficiency() # Calculates beam efficiency for standard EAS regions
pattern.plot() # plots an interactive heatmap of the normalized antenna pattern
```

### For further examples, please check the [example notebooks](https://github.com/Ericsson/eas-3d-pattern/tree/main/notebooks)


## Resources
*   [NGMN BASTA schema](https://www.ngmn.org/schema/basta/NGMN_BASTA_AA_3drp_JSON_Schema_WP3_0_latest.json)
*   [Example JSON files](https://www.ngmn.org/schema/basta/)
*   [Example of Beam Efficiency Report / EAS Definitions](https://erilink.internal.ericsson.com/eridoc/erl/objectId/09004cffd60af4fb?docno=2%2F0363-KRE2014818%2F21&option=download&format=pdf)

## Features
*   Loads and validates NGMN JSON schema from NGMN homepage (fallback if no internet access)
*   Parses various JSON structures from different sources with ease
*   Beam efficiency calculation
*   Custom rectangular and default sector definitions
*   Interactive visualization of 3D antenna pattern

## To-Do
*   Add tests / CICD
*   Add different calculation methods
*   Add more complex sector shapes
*   Plot sector regions
*   Improve interface to work with multiple JSON files

