Metadata-Version: 2.4
Name: s2_rut_python
Version: 0.0.3
Summary: Pure Python port of ESA's Sentinel-2 radiometric uncertainty tool
Author-email: MetEOR Toolkit Team <team@comet-toolkit.org>
Project-URL: Homepage, https://comet-toolkit.org/meteor
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: xarray
Requires-Dist: obsarray
Requires-Dist: processor_tools
Provides-Extra: dev
Requires-Dist: ruff; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-html; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: ipython; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx_rtd_theme; extra == "docs"
Requires-Dist: sphinx_book_theme; extra == "docs"
Requires-Dist: sphinx_design; extra == "docs"
Requires-Dist: sphinx_automodapi; extra == "docs"
Requires-Dist: myst_parser; extra == "docs"
Requires-Dist: ipython; extra == "docs"
Dynamic: license-file

# s2_rut_python

Pure Python port of ESA's Sentinel-2 radiometric uncertainty tool.

`s2_rut_python` computes per-pixel radiometric uncertainties for Sentinel-2 Level 1C
reflectance data, following the methodology of Gorrono *et al.* (2017). Outputs are
stored in the `obsarray` uncertainty accessor format.

> **Warning:** This software is in beta. Results should be used with
> caution. Please share any feedback via the issue tracker.

## Usage

### Virtual environment

It is always recommended to use a virtual environment for each Python project.
Use your preferred environment manager, or create one with:

```bash
python -m venv venv
```

Activate it on Windows with `venv\Scripts\activate`, or on macOS/Linux with
`source venv/bin/activate`.

### Installation

Install the package and its core dependencies:

```bash
pip install -e .
```

Optional extras are available depending on your use case:

```bash
pip install -e ".[dev]"      # Development tools (ruff, mypy, pytest, …)
pip install -e ".[docs]"     # Documentation build (sphinx, …)
```

### Development

Install the pre-commit hooks after cloning:

```bash
pre-commit install
```

When you commit, `ruff` will lint and format your code. If it makes
corrections the commit will be aborted so you can review the changes — just
commit again once you are happy.

Run the test suite with:

```bash
pytest
```

## Compatibility

`s2_rut_python` requires Python 3.11 or later and is tested on Python 3.11, 3.12,
and 3.13.

## Licence

`s2_rut_python` is released under the GNU Lesser General Public License v3 (LGPLv3).
See the [LICENSE](https://github.com/meteor-toolkit/s2_rut_python/blob/main/LICENSE) file for the full licence text.

## Authors

`s2_rut_python` is developed and maintained by the
[MetEOR Toolkit Team](mailto:team@comet-toolkit.org).

## Citations

Gorrono, J.; Fomferra, N.; Peters, M.; Gascon, F.; Underwood, C.I.; Fox, N.P.;
Kirches, G.; Brockmann, C. A Radiometric Uncertainty Tool for the Sentinel 2 Mission.
*Remote Sens.* 2017, 9, 178. <https://doi.org/10.3390/rs9020178>
