aeris-channel
aeris-channel is a Python library for 5G NR and 6G channel modeling,
deterministic/stochastic hybrid workflows, and hardware-in-the-loop
integration.
It provides public APIs for:
- 3GPP TR 38.901 stochastic, CDL, and TDL channel models.
- TR 36.777 aerial-UE/UAV and TR 38.811/38.821 non-terrestrial channel models.
- MIMO, massive-MIMO, XL-MIMO, near-field, and beam-management workflows.
- ISAC sensing, channel estimation, and system-level metrics.
- Deterministic-path and stochastic-residual composition, plus time-domain, frequency-domain, resource-grid, and impulse-response interfaces.
Installation
Install the latest release from PyPI:
python -m pip install aeris-channel
Prebuilt wheels are provided for Windows and Linux with CPython 3.11-3.14.
The package installs its aeris-license dependency automatically.
Optional feature groups are available:
python -m pip install "aeris-channel[gpu]" # CuPy for CUDA 12.x
python -m pip install "aeris-channel[plots]" # Matplotlib
python -m pip install "aeris-channel[profiles]" # YAML profile loading
License
Runtime use requires a valid aeris.lic. Obtain a license through the
approved Keysight process and configure its location using the supplied
licensing instructions before running licensed functionality.
Quick start: stochastic channel
from aeris_channel.tr38901 import (
StochasticChannelConfig,
generate_stochastic_channel,
)
config = StochasticChannelConfig(
scenario="UMi",
carrier_freq_hz=3.5e9,
n_tx=2,
n_rx=2,
num_time_samples=64,
seed=42,
)
result = generate_stochastic_channel(config)
print(result.H.shape) # (2, 2, 64)
print(result.pathloss_db)
Map-based hybrid channels
For the TR 38.901 map-based hybrid workflow, aeris-channel consumes complete
Step 3 deterministic path sets produced by a connected scene or ray-tracing
tool, then generates the stochastic residual and ray-resolved channel for one
link and snapshot. Map preparation and deterministic ray tracing are upstream
responsibilities; the package does not replace a ray tracer.
The documented Clause 8 profiles include UMa, UMi Street Canyon, RMa through 7 GHz, InH-Office, and InF-SL/DL/SH/DH for LOS/NLOS, plus LOS-only InF-HH. RMa, InH, and InF require caller-supplied cluster delay spread where the referenced table marks it N/A. The map-based model is intended for company-specific use and calibration; it does not claim universal cross-company calibration.
Documentation and examples
Release-matched public documentation and runnable examples are distributed separately from the PyPI wheel. Use the documentation and examples marked for the installed package version. They cover stochastic/CDL/TDL channels, NTN and aerial UE workflows, spatial consistency, MIMO/XL-MIMO, ISAC, deterministic path interoperability, resource grids, and RF/HIL or PROPSIM integrations.
Support
Contact support.aeris@keysight.com for licensing and product support.
Metadata
Release files for aeris-channel 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 28.1 MB
Release files / aeris_channel-1.0.5-cp314-cp314-win_amd64.whl
| Download URL | aeris_channel-1.0.5-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d3c752f27ca75dfdac4b64cc5b5adceffe2741bccfc403354cc5d11bd3632486
|
|
BLAKE2b-256 checksum How to use checksums |
977dcfe7811baac4525fe2aff6747a479bbfc99478b178767fbe8dccc02eca62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / aeris_channel-1.0.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | aeris_channel-1.0.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.4 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5837b5447a7a11652c329df8015c0b271e618e9dc9c263324faf409ffd7e95bc
|
|
BLAKE2b-256 checksum How to use checksums |
f80529ee0f3053ff16ec6cfa91b6ade4eb019f6e166775d8d130c7bc6c070446
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / aeris_channel-1.0.5-cp313-cp313-win_amd64.whl
| Download URL | aeris_channel-1.0.5-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
61d9cc91057ee8838c0c8e3f54a5be0ad89fbfb56cadf80537cbb03458f1b06d
|
|
BLAKE2b-256 checksum How to use checksums |
44fbfc810e1999d73749d5a0bc557c3c74f03017d97b8bd8d61a81eb38d0d975
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / aeris_channel-1.0.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | aeris_channel-1.0.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.2 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5514765f26628184e5dbffcc28a8904c4001fce8ed3cab0f80aed36cc30a7861
|
|
BLAKE2b-256 checksum How to use checksums |
54b1af7d074a02335aeea3f2cf71f64219c2fa1e3f19e4e0b883e00530f696ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / aeris_channel-1.0.5-cp312-cp312-win_amd64.whl
| Download URL | aeris_channel-1.0.5-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f3cda5258b6773575d23936c5f2ddea3e7e620d0bf73f0f315e9cdd9304614e6
|
|
BLAKE2b-256 checksum How to use checksums |
36f949a9aefdd4b697d99705257d8b792459bd89cb213d891348feeb87cd6516
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / aeris_channel-1.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | aeris_channel-1.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.2 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6f5415e16b6de9d7ce83bebe4901d07e5f4c4aba94904b83d63dbd3c52614f36
|
|
BLAKE2b-256 checksum How to use checksums |
ca43381c5d4b8edb42059a41f3db56d0057d2ec3484faefab6d36d7fea6129ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / aeris_channel-1.0.5-cp311-cp311-win_amd64.whl
| Download URL | aeris_channel-1.0.5-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e0b35d616806f8bd8c39249331b4643b473983b0169d5d82a69c76f2ce59f695
|
|
BLAKE2b-256 checksum How to use checksums |
28abdacc8be52dc0f804693f820f10be1fc375afb59c4c5f3a1aa3ab2126d0ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / aeris_channel-1.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | aeris_channel-1.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
986b4aa4b71773f4db7a98ea4229607af098d04ef1f4e566f83da75a36c2d8e9
|
|
BLAKE2b-256 checksum How to use checksums |
f0946a8f19ecfb32e28bad518e7ae20beb3467968e04d70b1f3b3b1861e3f33a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Security for aeris-channel 1.0.5
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.