proplib-p2108


Nameproplib-p2108 JSON
Version 1.1.0 PyPI version JSON
download
home_pageNone
SummaryPython wrapper for U.S. Reference Software Implementation of Recommendation ITU-R P.2108
upload_time2025-01-23 18:59:27
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
license# SOFTWARE DISCLAIMER / RELEASE This software was developed by employees of the National Telecommunications and Information Administration (NTIA), an agency of the Federal Government and is provided to you as a public service. Pursuant to Title 15 United States Code Section 105, works of NTIA employees are not subject to copyright protection within the United States. The software is provided by NTIA “AS IS.” NTIA MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND DATA ACCURACY. NTIA does not warrant or make any representations regarding the use of the software or the results thereof, including but not limited to the correctness, accuracy, reliability or usefulness of the software. To the extent that NTIA holds rights in countries other than the United States, you are hereby granted the non-exclusive irrevocable and unconditional right to print, publish, prepare derivative works and distribute the NTIA software, in any medium, or authorize others to do so on your behalf, on a royalty-free basis throughout the World. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. Please provide appropriate acknowledgments of NTIA’s creation of the software in any copies or derivative works of this software.
keywords its itu ntia clutter propagation radio telecommunications
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Recommendation ITU-R P.2108 - Python® Wrapper #

[![NTIA/ITS PropLib][proplib-badge]][proplib-link]
[![PyPI Release][pypi-release-badge]][pypi-release-link]
[![GitHub Actions Unit Test Status][gh-actions-test-badge]][gh-actions-test-link]
[![GitHub Issues][gh-issues-badge]][gh-issues-link]
[![DOI][doi-badge]][doi-link]

[proplib-badge]: https://img.shields.io/badge/PropLib-badge?label=%F0%9F%87%BA%F0%9F%87%B8%20NTIA%2FITS&labelColor=162E51&color=D63E04
[proplib-link]: https://ntia.github.io/propagation-library-wiki
[gh-actions-test-badge]: https://img.shields.io/github/actions/workflow/status/NTIA/p2108-python/pytest.yml?branch=main&logo=pytest&logoColor=ffffff&label=Tests&labelColor=162E51
[gh-actions-test-link]: https://github.com/NTIA/p2108-python/actions/workflows/pytest.yml
[pypi-release-badge]: https://img.shields.io/pypi/v/proplib-p2108?logo=pypi&logoColor=ffffff&label=Release&labelColor=162E51&color=D63E04
[pypi-release-link]: https://pypi.org/project/proplib-p2108
[gh-issues-badge]: https://img.shields.io/github/issues/NTIA/p2108-python?logo=github&label=Issues&labelColor=162E51
[gh-issues-link]: https://github.com/NTIA/p2108-python/issues
[doi-badge]: https://zenodo.org/badge/804561453.svg
[doi-link]: https://zenodo.org/badge/latestdoi/804561453

This repository contains a Python wrapper for the NTIA/ITS implementation of
Recommendation ITU-R P.2108. This Recommendation contains three methods for the
prediction of clutter loss: Height Gain Terminal Correction Model, Terrestrial
Statistical Model, and Aeronautical Statistical Model. The software implements
Section 3 of Annex 1 of the Recommendation. This Python package wraps the
[NTIA/ITS C++ implementation](https://github.com/NTIA/p2108).

## Getting Started ##

This software is distributed on [PyPI](https://pypi.org/project/proplib-p2108) and is easily installable
using the following command.

```cmd
pip install proplib-p2108
```

General information about using this model is available on
[its page on the **NTIA/ITS Propagation Library Wiki**](https://ntia.github.io/propagation-library-wiki/models/P2108/).
Additionally, Python-specific instructions and code examples are available
[here](https://ntia.github.io/propagation-library-wiki/models/P2108/python).

If you're a developer and would like to contribute to or extend this repository,
please review the guide for contributors [here](CONTRIBUTING.md) or open an
[issue](https://github.com/NTIA/p2108-python/issues) to start a discussion.

## Development ##

This repository contains code which wraps [the C++ shared library](https://github.com/NTIA/p2108)
as an importable Python module. If you wish to contribute to this repository,
testing your changes will require the inclusion of this shared library. You may retrieve
this either from the
[relevant GitHub Releases page](https://github.com/NTIA/p2108/releases), or by
compiling it yourself from the C++ source code. Either way, ensure that the shared library
(`.dll`, `.dylib`, or `.so` file) is placed in `src/ITS/ITU/PSeries/P2108/`, alongside `__init__.py`.

Below are the steps to build and install the Python package from the source code.
Working installations of Git and a [currently-supported version](https://devguide.python.org/versions/)
of Python are required. Additional requirements exist if you want to compile the shared
library from C++ source code; see relevant build instructions
[here](https://github.com/NTIA/p2108?tab=readme-ov-file#configure-and-build).

1. Optionally, configure and activate a virtual environment using a tool such as
[`venv`](https://docs.python.org/3/library/venv.html) or
[conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html).

1. Clone this repository, then initialize the Git submodule containing the test data.

    ```cmd
    # Clone the repository
    git clone https://github.com/NTIA/p2108-python
    cd p2108-python

    # Initialize Git submodule containing test data
    git submodule init

    # Clone the submodule
    git submodule update
    ```

1. Download the shared library (`.dll`, `.so`, or `.dylib`) from a
[GitHub Release](https://github.com/NTIA/p2108/releases). Then place the
downloaded file in `src/ITS/ITU/PSeries/P2108/` (alongside `__init__.py`).

1. Install the local package and development dependencies into your current environment:

    ```cmd
    pip install .[dev]
    ```

1. To build the wheel for your platform:

    ```cmd
    hatchling build
    ```

### Running Tests ###

Python unit tests can be run to confirm successful installation. You will need to
clone this repository's test data submodule (as described above). Then, run the tests
with pytest using the following command.

```cmd
pytest
```

Additionally, the [Study Group Clutter Excel Workbook](https://www.itu.int/en/ITU-R/study-groups/rsg3/ionotropospheric/Clutter%20and%20BEL%20workbook_V2.xlsx)
contains an extensive set of example values which are useful as validation cases.

## References ##

- [ITS Propagation Library Wiki](https://ntia.github.io/propagation-library-wiki)
- [P2108 Wiki Page](https://ntia.github.io/propagation-library-wiki/models/P2108)
- [`ITS.ITU.PSeries.P2108` C++ API Reference](https://ntia.github.io/P2108)
- [Recommendation ITU-R P.2108](https://www.itu.int/rec/R-REC-P.2108/en)
- [Report ITU-R P.2402](https://www.itu.int/pub/R-REP-P.2402)

## License ##

See [LICENSE](./LICENSE.md).

"Python" and the Python logos are trademarks or registered trademarks of the Python Software Foundation, used by the National Telecommunications and Information Administration with permission from the Foundation.

## Contact ##

For technical questions, contact <code@ntia.gov>.

## Disclaimer ##

Certain commercial equipment, instruments, or materials are identified in this project were used for the convenience of the developers. In no case does such identification imply recommendation or endorsement by the National Telecommunications and Information Administration, nor does it imply that the material or equipment identified is necessarily the best available for the purpose.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "proplib-p2108",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "ITS, ITU, NTIA, clutter, propagation, radio, telecommunications",
    "author": null,
    "author_email": "The Institute for Telecommunication Sciences <code@ntia.gov>",
    "download_url": "https://files.pythonhosted.org/packages/cb/74/3e6281be8c1063edd138d353bcede6fd77f095a7daa0dc56bc13ab530462/proplib_p2108-1.1.0.tar.gz",
    "platform": null,
    "description": "# Recommendation ITU-R P.2108 - Python\u00ae Wrapper #\n\n[![NTIA/ITS PropLib][proplib-badge]][proplib-link]\n[![PyPI Release][pypi-release-badge]][pypi-release-link]\n[![GitHub Actions Unit Test Status][gh-actions-test-badge]][gh-actions-test-link]\n[![GitHub Issues][gh-issues-badge]][gh-issues-link]\n[![DOI][doi-badge]][doi-link]\n\n[proplib-badge]: https://img.shields.io/badge/PropLib-badge?label=%F0%9F%87%BA%F0%9F%87%B8%20NTIA%2FITS&labelColor=162E51&color=D63E04\n[proplib-link]: https://ntia.github.io/propagation-library-wiki\n[gh-actions-test-badge]: https://img.shields.io/github/actions/workflow/status/NTIA/p2108-python/pytest.yml?branch=main&logo=pytest&logoColor=ffffff&label=Tests&labelColor=162E51\n[gh-actions-test-link]: https://github.com/NTIA/p2108-python/actions/workflows/pytest.yml\n[pypi-release-badge]: https://img.shields.io/pypi/v/proplib-p2108?logo=pypi&logoColor=ffffff&label=Release&labelColor=162E51&color=D63E04\n[pypi-release-link]: https://pypi.org/project/proplib-p2108\n[gh-issues-badge]: https://img.shields.io/github/issues/NTIA/p2108-python?logo=github&label=Issues&labelColor=162E51\n[gh-issues-link]: https://github.com/NTIA/p2108-python/issues\n[doi-badge]: https://zenodo.org/badge/804561453.svg\n[doi-link]: https://zenodo.org/badge/latestdoi/804561453\n\nThis repository contains a Python wrapper for the NTIA/ITS implementation of\nRecommendation ITU-R P.2108. This Recommendation contains three methods for the\nprediction of clutter loss: Height Gain Terminal Correction Model, Terrestrial\nStatistical Model, and Aeronautical Statistical Model. The software implements\nSection 3 of Annex 1 of the Recommendation. This Python package wraps the\n[NTIA/ITS C++ implementation](https://github.com/NTIA/p2108).\n\n## Getting Started ##\n\nThis software is distributed on [PyPI](https://pypi.org/project/proplib-p2108) and is easily installable\nusing the following command.\n\n```cmd\npip install proplib-p2108\n```\n\nGeneral information about using this model is available on\n[its page on the **NTIA/ITS Propagation Library Wiki**](https://ntia.github.io/propagation-library-wiki/models/P2108/).\nAdditionally, Python-specific instructions and code examples are available\n[here](https://ntia.github.io/propagation-library-wiki/models/P2108/python).\n\nIf you're a developer and would like to contribute to or extend this repository,\nplease review the guide for contributors [here](CONTRIBUTING.md) or open an\n[issue](https://github.com/NTIA/p2108-python/issues) to start a discussion.\n\n## Development ##\n\nThis repository contains code which wraps [the C++ shared library](https://github.com/NTIA/p2108)\nas an importable Python module. If you wish to contribute to this repository,\ntesting your changes will require the inclusion of this shared library. You may retrieve\nthis either from the\n[relevant GitHub Releases page](https://github.com/NTIA/p2108/releases), or by\ncompiling it yourself from the C++ source code. Either way, ensure that the shared library\n(`.dll`, `.dylib`, or `.so` file) is placed in `src/ITS/ITU/PSeries/P2108/`, alongside `__init__.py`.\n\nBelow are the steps to build and install the Python package from the source code.\nWorking installations of Git and a [currently-supported version](https://devguide.python.org/versions/)\nof Python are required. Additional requirements exist if you want to compile the shared\nlibrary from C++ source code; see relevant build instructions\n[here](https://github.com/NTIA/p2108?tab=readme-ov-file#configure-and-build).\n\n1. Optionally, configure and activate a virtual environment using a tool such as\n[`venv`](https://docs.python.org/3/library/venv.html) or\n[conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html).\n\n1. Clone this repository, then initialize the Git submodule containing the test data.\n\n    ```cmd\n    # Clone the repository\n    git clone https://github.com/NTIA/p2108-python\n    cd p2108-python\n\n    # Initialize Git submodule containing test data\n    git submodule init\n\n    # Clone the submodule\n    git submodule update\n    ```\n\n1. Download the shared library (`.dll`, `.so`, or `.dylib`) from a\n[GitHub Release](https://github.com/NTIA/p2108/releases). Then place the\ndownloaded file in `src/ITS/ITU/PSeries/P2108/` (alongside `__init__.py`).\n\n1. Install the local package and development dependencies into your current environment:\n\n    ```cmd\n    pip install .[dev]\n    ```\n\n1. To build the wheel for your platform:\n\n    ```cmd\n    hatchling build\n    ```\n\n### Running Tests ###\n\nPython unit tests can be run to confirm successful installation. You will need to\nclone this repository's test data submodule (as described above). Then, run the tests\nwith pytest using the following command.\n\n```cmd\npytest\n```\n\nAdditionally, the [Study Group Clutter Excel Workbook](https://www.itu.int/en/ITU-R/study-groups/rsg3/ionotropospheric/Clutter%20and%20BEL%20workbook_V2.xlsx)\ncontains an extensive set of example values which are useful as validation cases.\n\n## References ##\n\n- [ITS Propagation Library Wiki](https://ntia.github.io/propagation-library-wiki)\n- [P2108 Wiki Page](https://ntia.github.io/propagation-library-wiki/models/P2108)\n- [`ITS.ITU.PSeries.P2108` C++ API Reference](https://ntia.github.io/P2108)\n- [Recommendation ITU-R P.2108](https://www.itu.int/rec/R-REC-P.2108/en)\n- [Report ITU-R P.2402](https://www.itu.int/pub/R-REP-P.2402)\n\n## License ##\n\nSee [LICENSE](./LICENSE.md).\n\n\"Python\" and the Python logos are trademarks or registered trademarks of the Python Software Foundation, used by the National Telecommunications and Information Administration with permission from the Foundation.\n\n## Contact ##\n\nFor technical questions, contact <code@ntia.gov>.\n\n## Disclaimer ##\n\nCertain commercial equipment, instruments, or materials are identified in this project were used for the convenience of the developers. In no case does such identification imply recommendation or endorsement by the National Telecommunications and Information Administration, nor does it imply that the material or equipment identified is necessarily the best available for the purpose.\n",
    "bugtrack_url": null,
    "license": "# SOFTWARE DISCLAIMER / RELEASE\n        \n        This software was developed by employees of the National Telecommunications and Information\n        Administration (NTIA), an agency of the Federal Government and is provided to you\n        as a public service.  Pursuant to Title 15 United States Code Section 105, works\n        of NTIA employees are not subject to copyright protection within the United States.\n        \n        The software is provided by NTIA \u201cAS IS.\u201d  NTIA MAKES NO WARRANTY OF ANY KIND, EXPRESS,\n        IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND DATA ACCURACY. NTIA does\n        not warrant or make any representations regarding the use of the software or the\n        results thereof, including but not limited to the correctness, accuracy, reliability\n        or usefulness of the software.\n        \n        To the extent that NTIA holds rights in countries other than the United States,\n        you are hereby granted the non-exclusive irrevocable and unconditional right to\n        print, publish, prepare derivative works and distribute the NTIA software, in any\n        medium, or authorize others to do so on your behalf, on a royalty-free basis throughout\n        the World.\n        \n        You may improve, modify, and create derivative works of the software or any portion\n        of the software, and you may copy and distribute such modifications or works. Modified\n        works should carry a notice stating that you changed the software and should note\n        the date and nature of any such change.\n        \n        You are solely responsible for determining the appropriateness of using and distributing\n        the software and you assume all risks associated with its use, including but not\n        limited to the risks and costs of program errors, compliance with applicable laws,\n        damage to or loss of data, programs or equipment, and the unavailability or interruption\n        of operation. This software is not intended to be used in any situation where a failure\n        could cause risk of injury or damage to property.\n        \n        Please provide appropriate acknowledgments of NTIA\u2019s creation of the software in\n        any copies or derivative works of this software.",
    "summary": "Python wrapper for U.S. Reference Software Implementation of Recommendation ITU-R P.2108",
    "version": "1.1.0",
    "project_urls": {
        "C++ Source": "https://github.com/NTIA/p2108",
        "ITS Website": "https://its.ntia.gov",
        "NTIA GitHub": "https://github.com/NTIA",
        "PropLib Wiki": "https://ntia.github.io/propagation-library-wiki/models/P2108/",
        "Python Wrapper Bug Tracker": "https://github.com/NTIA/p2108-python/issues",
        "Python Wrapper Source": "https://github.com/NTIA/p2108-python"
    },
    "split_keywords": [
        "its",
        " itu",
        " ntia",
        " clutter",
        " propagation",
        " radio",
        " telecommunications"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "94982288e91cb9050a4f7aca8ffc085b1ad8900b6b89f85b10f9ce527ca482f8",
                "md5": "8b08cd5ebe73947c33622d97742c3e57",
                "sha256": "ba4c6b957720e86f654ff0f867cfd0ed980acb13c55956a16ff3ff1bfa866a82"
            },
            "downloads": -1,
            "filename": "proplib_p2108-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8b08cd5ebe73947c33622d97742c3e57",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 64735,
            "upload_time": "2025-01-23T18:59:25",
            "upload_time_iso_8601": "2025-01-23T18:59:25.063594Z",
            "url": "https://files.pythonhosted.org/packages/94/98/2288e91cb9050a4f7aca8ffc085b1ad8900b6b89f85b10f9ce527ca482f8/proplib_p2108-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cb743e6281be8c1063edd138d353bcede6fd77f095a7daa0dc56bc13ab530462",
                "md5": "5d6370c3801e5a79b24c67e2b4391f28",
                "sha256": "c835dce27f8a2ed2daf323d9407c9c8a81106728f7f3f06acd1b6a4b8e34544c"
            },
            "downloads": -1,
            "filename": "proplib_p2108-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5d6370c3801e5a79b24c67e2b4391f28",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 75674,
            "upload_time": "2025-01-23T18:59:27",
            "upload_time_iso_8601": "2025-01-23T18:59:27.053928Z",
            "url": "https://files.pythonhosted.org/packages/cb/74/3e6281be8c1063edd138d353bcede6fd77f095a7daa0dc56bc13ab530462/proplib_p2108-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-23 18:59:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NTIA",
    "github_project": "p2108",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "proplib-p2108"
}
        
Elapsed time: 0.67806s