Skip to main content

eas-3d-pattern

PyPI version PyPI - Python Version PyPI - License CI Ruff

A Python library for visualizing and computing beam efficiency on 3D antenna radiation patterns conforming to the NGMN BASTA JSON schema.


What is this?

Given a 3D radiation pattern in JSON format which follows the NGMN BASTA (Base Station Antenna Standards) specification, with this library you can:

  • Parse the BASTA-compliant JSON, handles multiple coordinate systems and sampling formats automatically
  • Calculate beam efficiency across configurable sectors (EAS methodology)
  • Visualize patterns as 2D heatmaps and 3D polar plots

Installation

pip install eas-3d-pattern
Development installation
git clone https://github.com/Ericsson/eas-3d-pattern.git
cd eas-3d-pattern
poetry install

Run tests:

poetry run pytest

Lint and format:

poetry run ruff check .
poetry run ruff format .

Quick Start

from eas_3d_pattern import AntennaPattern, SAMPLE_JSON

# Load a 3D radiation pattern from JSON
pattern = AntennaPattern(SAMPLE_JSON[0])

# Inspect antenna parameters
print(f"{pattern.antenna_model} @ {pattern.frequency_hz / 1e6:.0f} MHz — {pattern.gain_dbi:.1f} dBi")
# → ANTMODEL1 @ 2100 MHz — 18.3 dBi

# Calculate beam efficiency (EAS default sectors)
efficiency = pattern.calculate_beam_efficiency()
print(f"Cell sector: {efficiency['Cell'] * 100:.1f}%")
# → Cell sector: 72.4%

# Visualize the normalized power pattern
pattern.plot()

Antenna pattern heatmap

Features

Feature Description
Multi-format parsing Accepts uniform and non-uniform sampling, all NGMN coordinate systems (SPCS_Polar, SPCS_CW, SPCS_CCW, SPCS_Geo)
Schema validation Optional validation against the official NGMN BASTA JSON Schema
Beam efficiency Compute power distribution across predefined EAS sectors or custom rectangular regions
Custom sectors Define your own analysis regions with arbitrary θ/φ boundaries
Directivity & losses Calculate directivity and estimate ohmic losses from declared gain
Visualization Interactive heatmaps and 3D polar plots
Batch reporting Process a directory of JSON files into a structured Excel report with optional PNG exports

Examples

See the example notebooks for detailed walkthroughs.

Resources

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Metadata

Release files for eas-3d-pattern 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eas-3d-pattern 0.2.1
File Size Uploaded
eas_3d_pattern-0.2.1.tar.gz 5.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for eas-3d-pattern 0.2.1
File Interpreter ABI Platform
eas_3d_pattern-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 10.8 MB

Release files / eas_3d_pattern-0.2.1.tar.gz

Download URL eas_3d_pattern-0.2.1.tar.gz
Size 5.3 MB
Tags Source
SHA-256 checksum
How to use checksums
7f39e609052d788193565739b6746d8256991a635b0ed77e40d23eb02ad9651b
BLAKE2b-256 checksum
How to use checksums
aba97e2eacedfa5087836c8f5190fa44a6c91ef62ead89cc13c346bbb846928b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.14.4 Linux/6.18.33.2-microsoft-standard-WSL2

Release files / eas_3d_pattern-0.2.1-py3-none-any.whl

Download URL eas_3d_pattern-0.2.1-py3-none-any.whl
Size 5.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e4f0d8993565ec6757af2325127c9a52c03606973358d4dbcbbdaec29016ef1e
BLAKE2b-256 checksum
How to use checksums
8f2387817a22b59d4fc4fc5b8ffbd0d42e64b239e21c371a7ed11cb3f9ebcec1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.14.4 Linux/6.18.33.2-microsoft-standard-WSL2

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page