<!--
SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->
# Sionna: An Open-Source Library for Research on Communication Systems
Sionna™ is an open-source Python-based library for research on
communication systems.
The official documentation can be found
[here](https://nvlabs.github.io/sionna/).
It is composed of the following packages:
- [Sionna RT](https://nvlabs.github.io/sionna/rt/index.html) -
A lightning-fast stand-alone ray tracer for radio propagation modeling
- [Sionna PHY](https://nvlabs.github.io/sionna/phy/index.html) -
A link-level simulator for wireless and optical communication systems
- [Sionna SYS](https://nvlabs.github.io/sionna/sys/index.html) -
A system-level simulator based on physical-layer abstraction
# Installation
Sionna PHY and Sionna SYS require [Python 3.10-3.12](https://www.python.org/) and [TensorFlow 2.14-2.19](https://www.tensorflow.org/install). We recommend Ubuntu 24.04. Earlier versions of TensorFlow may still work but are not recommended. We refer to the [TensorFlow GPU support tutorial](https://www.tensorflow.org/install/gpu) for GPU support and the required driver setup.
Sionna RT has the same requirements as [Mitsuba
3](https://github.com/mitsuba-renderer/mitsuba3) and we refer to its
[installation guide](https://mitsuba.readthedocs.io/en/stable/) for further
information. To run Sionna RT on CPU, [LLVM](https://llvm.org) is required by
[Dr.Jit](https://drjit.readthedocs.io/en/stable/). Please check the
[installation instructions for the LLVM
backend](https://drjit.readthedocs.io/en/latest/what.html#backends). The source
code of Sionna RT is located in a separate [GitHub repository](https://github.com/NVlabs/sionna-rt).
If you want to run the tutorial notebooks on your machine, you also need
[JupyterLab](https://jupyter.org/). You can alternatively test them on [Google
Colab](https://colab.research.google.com/). Although not necessary, we recommend
running Sionna in a [Docker container](https://www.docker.com) and/or [Python virtual
enviroment](https://docs.python.org/3/library/venv.html).
## Installation via pip
The recommended way to install Sionna is via pip:
```
pip install sionna
```
If you want to install only Sionna RT, run:
```
pip install sionna-rt
```
You can install Sionna without the RT package via
```
pip install sionna-no-rt
```
## Installation from source
1. Clone the repository with all submodules:
```
git clone --recursive https://github.com/NVlabs/sionna
```
If you have already cloned the repository but forgot to set the `--recursive`
flag, you can correct this via:
```
git submodule update --init --recursive --remote
```
2. Install Sionna (including Sionna RT) by running the following command from within the repository's
root folder:
```
pip install ext/sionna-rt/ .
pip install .
```
## Testing
First, you need to install the test requirements by executing the
following command from the repository's root directory:
```
pip install '.[test]'
```
The unit tests can then be executed by running ``pytest`` from within the
``test`` folder.
## Building the Documentation
Install the requirements for building the documentation by running the following
command from the repository's root directory:
```
pip install '.[doc]'
```
You might need to install [pandoc](https://pandoc.org) manually.
You can then build the documentation by executing ``make html`` from within the ``doc`` folder.
The documentation can then be served by any web server, e.g.,
```
python -m http.server --dir build/html
```
## For Developers
Development requirements can be installed by executing from the repository's root directory:
```
pip install '.[dev]'
```
Linting of the code can be achieved by running ```pylint src/``` from the repository's root directory.
## License and Citation
Sionna is Apache-2.0 licensed, as found in the [LICENSE](https://github.com/nvlabs/sionna/blob/main/LICENSE) file.
If you use this software, please cite it as:
```bibtex
@software{sionna,
title = {Sionna},
author = {Hoydis, Jakob and Cammerer, Sebastian and {Ait Aoudia}, Fayçal and Nimier-David, Merlin and Maggi, Lorenzo and Marcus, Guillermo and Vem, Avinash and Keller, Alexander},
note = {https://nvlabs.github.io/sionna/},
year = {2022},
version = {1.2.0}
}
```
Raw data
{
"_id": null,
"home_page": null,
"name": "sionna",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "communication systems, ray tracing, physical layer, link-level simulation, system-level simulation, 5G, 6G, radio propagation, channel model, wireless communication, optical communication, wireless networks, deep learning, differentiable simulation, differentiable ray tracing, gradient-based optimization, automatic differentiation, neural networks, machine learning",
"author": null,
"author_email": "The Sionna contributors <sionna@nvidia.com>",
"download_url": null,
"platform": null,
"description": "<!--\nSPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\nSPDX-License-Identifier: Apache-2.0\n-->\n# Sionna: An Open-Source Library for Research on Communication Systems\n\nSionna™ is an open-source Python-based library for research on\ncommunication systems.\n\nThe official documentation can be found\n[here](https://nvlabs.github.io/sionna/).\n\nIt is composed of the following packages:\n\n- [Sionna RT](https://nvlabs.github.io/sionna/rt/index.html) -\n A lightning-fast stand-alone ray tracer for radio propagation modeling\n\n- [Sionna PHY](https://nvlabs.github.io/sionna/phy/index.html) -\n A link-level simulator for wireless and optical communication systems\n\n- [Sionna SYS](https://nvlabs.github.io/sionna/sys/index.html) -\n A system-level simulator based on physical-layer abstraction\n\n# Installation\nSionna PHY and Sionna SYS require [Python 3.10-3.12](https://www.python.org/) and [TensorFlow 2.14-2.19](https://www.tensorflow.org/install). We recommend Ubuntu 24.04. Earlier versions of TensorFlow may still work but are not recommended. We refer to the [TensorFlow GPU support tutorial](https://www.tensorflow.org/install/gpu) for GPU support and the required driver setup.\n\nSionna RT has the same requirements as [Mitsuba\n3](https://github.com/mitsuba-renderer/mitsuba3) and we refer to its\n[installation guide](https://mitsuba.readthedocs.io/en/stable/) for further\ninformation. To run Sionna RT on CPU, [LLVM](https://llvm.org) is required by\n[Dr.Jit](https://drjit.readthedocs.io/en/stable/). Please check the\n[installation instructions for the LLVM\nbackend](https://drjit.readthedocs.io/en/latest/what.html#backends). The source\ncode of Sionna RT is located in a separate [GitHub repository](https://github.com/NVlabs/sionna-rt).\n\nIf you want to run the tutorial notebooks on your machine, you also need\n[JupyterLab](https://jupyter.org/). You can alternatively test them on [Google\nColab](https://colab.research.google.com/). Although not necessary, we recommend\nrunning Sionna in a [Docker container](https://www.docker.com) and/or [Python virtual\nenviroment](https://docs.python.org/3/library/venv.html).\n\n## Installation via pip\nThe recommended way to install Sionna is via pip:\n```\npip install sionna\n```\n\nIf you want to install only Sionna RT, run:\n```\npip install sionna-rt\n```\n\nYou can install Sionna without the RT package via\n```\npip install sionna-no-rt\n```\n\n## Installation from source\n1. Clone the repository with all submodules:\n ```\n git clone --recursive https://github.com/NVlabs/sionna\n ```\n If you have already cloned the repository but forgot to set the `--recursive`\n flag, you can correct this via:\n ```\n git submodule update --init --recursive --remote\n ```\n2. Install Sionna (including Sionna RT) by running the following command from within the repository's\n root folder:\n ```\n pip install ext/sionna-rt/ .\n pip install .\n ```\n\n## Testing\nFirst, you need to install the test requirements by executing the\nfollowing command from the repository's root directory:\n\n```\npip install '.[test]'\n```\n\nThe unit tests can then be executed by running ``pytest`` from within the\n``test`` folder.\n\n## Building the Documentation\nInstall the requirements for building the documentation by running the following\ncommand from the repository's root directory:\n\n```\npip install '.[doc]'\n```\n\nYou might need to install [pandoc](https://pandoc.org) manually.\n\nYou can then build the documentation by executing ``make html`` from within the ``doc`` folder.\n\nThe documentation can then be served by any web server, e.g.,\n\n```\npython -m http.server --dir build/html\n```\n\n## For Developers\n\nDevelopment requirements can be installed by executing from the repository's root directory:\n\n```\npip install '.[dev]'\n```\n\nLinting of the code can be achieved by running ```pylint src/``` from the repository's root directory.\n\n## License and Citation\n\nSionna is Apache-2.0 licensed, as found in the [LICENSE](https://github.com/nvlabs/sionna/blob/main/LICENSE) file.\n\nIf you use this software, please cite it as:\n```bibtex\n@software{sionna,\n title = {Sionna},\n author = {Hoydis, Jakob and Cammerer, Sebastian and {Ait Aoudia}, Fay\u00e7al and Nimier-David, Merlin and Maggi, Lorenzo and Marcus, Guillermo and Vem, Avinash and Keller, Alexander},\n note = {https://nvlabs.github.io/sionna/},\n year = {2022},\n version = {1.2.0}\n}\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Sionna - A hardware-accelerated differentiable open-source library for research on communication systems",
"version": "1.2.0",
"project_urls": {
"documentation": "https://nvlabs.github.io/sionna/",
"issues": "https://github.com/nvlabs/sionna/issues",
"source": "https://github.com/nvlabs/sionna-rt/"
},
"split_keywords": [
"communication systems",
" ray tracing",
" physical layer",
" link-level simulation",
" system-level simulation",
" 5g",
" 6g",
" radio propagation",
" channel model",
" wireless communication",
" optical communication",
" wireless networks",
" deep learning",
" differentiable simulation",
" differentiable ray tracing",
" gradient-based optimization",
" automatic differentiation",
" neural networks",
" machine learning"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e1f335fabc6f001fdf79acc1d0646287559acef6d009b5b821f1b9fb89646c6f",
"md5": "372eb1030790c36438e6834ce0904d1c",
"sha256": "574a68c499a14bba2b19f55a04a7a9e08a68b0fb68acdc36fc7d46e8712ef8ec"
},
"downloads": -1,
"filename": "sionna-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "372eb1030790c36438e6834ce0904d1c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 520453,
"upload_time": "2025-09-19T16:33:03",
"upload_time_iso_8601": "2025-09-19T16:33:03.898168Z",
"url": "https://files.pythonhosted.org/packages/e1/f3/35fabc6f001fdf79acc1d0646287559acef6d009b5b821f1b9fb89646c6f/sionna-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-19 16:33:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nvlabs",
"github_project": "sionna",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "sionna"
}