11# Recommendation ITU-R P.2108 - U.S. Reference Implementation, Python #
22
3- ![ NTIA/ITS PropLib] [ proplib-badge ]
4- ![ GitHub Release] [ gh-releases-badge ]
5- ![ GitHub Issues] [ gh-issues-badge ]
6- <!-- TODO: Add unit test badge after CI workflow is added -->
7- <!-- [![Unit Tests Status][gh-actions-test-badge]][gh-actions-test-link] -->
8- <!-- TODO: Include a DOI badge if a DOI exists for a release -->
9- <!-- [![DOI][doi-badge]][doi-link] -->
10-
11- [ proplib-badge ] : https://img.shields.io/badge/NTIA-PropLib-D63E04?label=NTIA%2FITS&labelColor=162E51&link=https%3A%2F%2Fntia.github.io%2Fpropagation-library-wiki
12- <!--
13- [gh-actions-test-link]: https://github.com/NTIA/p2108-python/actions/workflows/tox.yml
14- [gh-actions-test-badge]: https://github.com/NTIA/p2108-python/actions/workflows/tox.yml/badge.svg?branch=main
15- -->
16- [ gh-releases-badge ] : https://img.shields.io/github/v/release/NTIA/p2108-python
17- [ gh-issues-badge ] : https://img.shields.io/github/issues/NTIA/p2108-python
18- <!-- TODO-TEMPLATE: Only create a DOI for versioned public releases -->
19- <!-- [doi-badge]: https://zenodo.org/badge/DOI/TODO-TEMPLATE/zenodo.TODO-TEMPLATE.svg
20- [doi-link]: https://doi.org/TODO-TEMPLATE/zenodo.TODO-TEMPLATE -->
3+ [ ![ NTIA/ITS PropLib] [ proplib-badge ]] [ proplib-link ]
4+ [ ![ GitHub Release] [ gh-releases-badge ]] [ gh-releases-link ]
5+ [ ![ GitHub Issues] [ gh-issues-badge ]] [ gh-issues-link ]
6+
7+ [ proplib-badge ] : https://img.shields.io/badge/PropLib-badge?label=%F0%9F%87%BA%F0%9F%87%B8%20NTIA%2FITS&labelColor=162E51&color=D63E04
8+ [ proplib-link ] : https://ntia.github.io/propagation-library-wiki
9+ <!-- [gh-actions-test-badge]: https://img.shields.io/github/actions/workflow/status/NTIA/p2108-python/tox.yml?branch=main&logo=pytest&logoColor=ffffff&label=Build%2FTests&labelColor=162E51 -->
10+ <!-- [gh-actions-test-link]: https://github.com/NTIA/p2108-python/actions/workflows/tox.yml -->
11+ [ gh-releases-badge ] : https://img.shields.io/github/v/release/NTIA/p2108-python?logo=github&label=Release&labelColor=162E51&color=D63E04
12+ [ gh-releases-link ] : https://github.com/NTIA/p2108-python/releases
13+ [ gh-issues-badge ] : https://img.shields.io/github/issues/NTIA/p2108-python?logo=github&label=Issues&labelColor=162E51
14+ [ gh-issues-link ] : https://github.com/NTIA/p2108-python/issues
15+ <!-- [doi-badge]: https://img.shields.io/badge/{TODO-TEMPLATE-ALL-VERSIONS-DOI}-x?logo=doi&logoColor=ffffff&labelColor=162E51&color=D63E04 -->
16+ <!-- [doi-link]: https://zenodo.org/badge/latestdoi/{TODO-TEMPLATE-REPOSITORY-ID} -->
2117
2218Python® wrapper for U.S. Reference Software Implementation of Recommendation ITU-R
2319P.2108. This Recommendation contains three methods for the prediction of clutter
@@ -28,46 +24,50 @@ the Recommendation. This Python package wraps the
2824
2925## Getting Started ##
3026
31- For an overview of the available functions of this model, view the
32- [ NTIA/ITS Propagation Library Wiki] ( https://ntia.github.io/propagation-library-wiki/models/P2108 ) .
33- Additionally, Python-specific usage information, installation instructions, and
34- code examples are available [ here] ( https://ntia.github.io/propagation-library-wiki/models/P2108/python ) .
27+ This software is distributed on [ PyPi] ( https://pypi.org/project/p2108 ) and is easily installable
28+ using the following command.
29+
30+ ``` cmd
31+ pip install p2108
32+ ```
33+
34+ General information about using this model is available on
35+ [ its page on the ** NTIA/ITS Propagation Library Wiki** ] ( https://ntia.github.io/propagation-library-wiki/models/P2108/ ) .
36+ Additionally, Python-specific instructions and code examples are available
37+ [ here] ( https://ntia.github.io/propagation-library-wiki/models/P2108/python ) .
3538
3639If you're a developer and would like to contribute to or extend this repository,
3740please review the guide for contributors [ here] ( CONTRIBUTING.md ) or open an
3841[ issue] ( https://github.com/NTIA/p2108-python/issues ) to start a discussion.
3942
4043## Development ##
4144
42- This repository contains code which wraps [ the C++ source ] ( https://github.com/NTIA/p2108 )
45+ This repository contains code which wraps [ the C++ shared library ] ( https://github.com/NTIA/p2108 )
4346as an importable Python module. If you wish to contribute to this repository,
4447testing your changes will require the inclusion of this shared library. You may retrieve
4548this either from the
4649[ relevant GitHub Releases page] ( https://github.com/NTIA/p2108/releases ) , or by
47- compiling it yourself from the C++ source code (instructions
48- [ here] ( https://github.com/NTIA/p2108?tab=readme-ov-file#configure-and-build ) ).
49- If providing the shared library (` .dll ` , ` .dylib ` , or ` .so ` file) manually
50- from a GitHub release, place it in ` src/ITS/ITU/PSeries/P2108/ ` , alongside
51- ` __init__.py ` .
50+ compiling it yourself from the C++ source code. Either way, ensure that the shared library
51+ (` .dll ` , ` .dylib ` , or ` .so ` file) is placed in ` src/ITS/ITU/PSeries/P2108/ ` , alongside ` __init__.py ` .
5252
5353Below are the steps to build and install the Python package from source, including
54- compiling the library from the C++ source code. Working installations of Git and
55- Python (3.9 or above) are required.
54+ optionally compiling the shared library from the C++ source code. Working installations of Git and
55+ Python (3.9 or above) are required. If compiling the shared library, CMake and a C++ compiler
56+ are also required.
5657
57581 . Clone the parent repository, then initialize the Git submodule containing the
5859Python wrapper. This repository structure makes test data available to the Python
5960wrapper.
6061
6162 ```cmd
62- # Clone the parent repository:
63+ # Clone the parent repository
6364 git clone https://github.com/NTIA/p2108
6465 cd p2108
6566
66- # Then run one of the following:
67- git submodule init wrap/python # Only the Python wrapper
68- git submodule init # All available wrappers
67+ # Initialize Git submodules (wrappers and external dependencies)
68+ git submodule init
6969
70- # Finally, clone the submodule(s):
70+ # Clone the submodules
7171 git submodule update
7272 ```
7373
@@ -79,7 +79,7 @@ into the location required by the Python wrapper.
7979 **OR**
8080
8181 Download the shared library (`.dll`, `.so`, or `.dylib`) from a
82- [GitHub Release](https://github.com/NTIA/p2108/releases). Then place the
82+ [GitHub Release](https://github.com/NTIA/p2108/releases). Then place the'
8383 downloaded file in `src/ITS/ITU/PSeries/P2108/` (alongside `__init__.py`).
8484
85851 . Install the local package and development dependencies:
0 commit comments