Metadata-Version: 2.5
Name: rfmeasurement
Version: 0.1.0
Summary: An open-source framework for uncertainty-aware validation and reproducible analysis of RF measurements.
Project-URL: Homepage, https://github.com/telmomm/rfmeasurement
Project-URL: Documentation, https://rfmeasurement.readthedocs.io/en/latest/
Project-URL: Issues, https://github.com/telmomm/rfmeasurement/issues
Project-URL: Changelog, https://github.com/telmomm/rfmeasurement/blob/main/CHANGELOG.md
Author: rfmeasurement contributors
License: BSD 3-Clause License
        
        Copyright (c) 2026, rfmeasurement contributors
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions are met:
        
        1. Redistributions of source code must retain the above copyright notice, this
           list of conditions and the following disclaimer.
        
        2. Redistributions in binary form must reproduce the above copyright notice,
           this list of conditions and the following disclaimer in the documentation
           and/or other materials provided with the distribution.
        
        3. Neither the name of the copyright holder nor the names of its
           contributors may be used to endorse or promote products derived from
           this software without specific prior written permission.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
        LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
        CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
        SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
        INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
        CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
        ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
        POSSIBILITY OF SUCH DAMAGE.
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Requires-Dist: numpy>=1.24
Requires-Dist: scikit-rf>=1.0
Provides-Extra: dev
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: docs
Requires-Dist: myst-parser>=2.0; extra == 'docs'
Requires-Dist: sphinx-rtd-theme>=2.0; extra == 'docs'
Requires-Dist: sphinx>=7.0; extra == 'docs'
Description-Content-Type: text/markdown

# rfmeasurement

[![Documentation Status](https://readthedocs.org/projects/rfmeasurement/badge/?version=latest)](https://rfmeasurement.readthedocs.io/en/latest/?badge=latest)

An open-source Python framework for uncertainty-aware validation and
reproducible analysis of RF measurements.

> **Status: early alpha (`0.1.0`).** The public API is not yet stable and
> may change without notice between `0.x` releases. See the
> [roadmap](docs/roadmap.md) for current progress and the
> [changelog](CHANGELOG.md) for release notes.

**Documentation:** <https://rfmeasurement.readthedocs.io/en/latest/>

## Statement of need

RF measurement data (S-parameters and related quantities) is commonly
analyzed without a structured record of measurement quality, uncertainty,
or provenance. `rfmeasurement` adds a layer on top of established RF
network-analysis tooling to turn raw measurement data into **validated,
uncertainty-aware, reproducible scientific results**.

> Do not only report an RF result. Report how the result was obtained,
> how trustworthy the measurement is, and what uncertainty contributes to
> the final value.

`rfmeasurement` does not replace [scikit-rf](https://scikit-rf.readthedocs.io/);
it builds on it, focusing on measurement provenance, measurement-quality
assessment, uncertainty modelling and propagation, and reproducible
reporting. See [docs/scope.md](docs/scope.md) for the boundary between the
two projects.

## Documentation

The published documentation (installation, API reference, contributing,
license) is at <https://rfmeasurement.readthedocs.io/en/latest/>.

The full design and development specification lives in [docs/](docs/index.md):

- [Vision](docs/vision.md)
- [Scope](docs/scope.md)
- [Requirements](docs/requirements.md)
- [Architecture](docs/architecture.md)
- [Domain model](docs/domain-model.md)
- [API specification](docs/api-specification.md)
- [Uncertainty](docs/uncertainty.md)
- [Measurement quality](docs/measurement-quality.md)
- [Reproducibility](docs/reproducibility.md)
- [Roadmap](docs/roadmap.md)
- [Repository organisation](docs/repository-organization.md)
- [Testing and validation](docs/testing-validation.md)
- [Architecture Decision Records](docs/adr/)

## Installation

Not yet published to PyPI. Install from a tagged release or from source:

```bash
pip install "rfmeasurement @ git+https://github.com/telmomm/rfmeasurement.git@v0.1.0"
```

For development:

```bash
git clone https://github.com/telmomm/rfmeasurement.git
cd rfmeasurement
python -m pip install -e ".[dev]"
```

Supported Python versions: 3.10, 3.11, 3.12, 3.13.

## Development

```bash
pytest
```

See [CONTRIBUTING.md](CONTRIBUTING.md) for how to propose changes,
including scientific contributions.

## Citation

If you use `rfmeasurement` in research, please cite it using the metadata
in [CITATION.cff](CITATION.cff).

## License

BSD 3-Clause License. See [LICENSE](LICENSE).

## Code of conduct

This project follows the [Contributor Covenant](CODE_OF_CONDUCT.md).
