Metadata-Version: 2.4
Name: recast-radar
Version: 0.1.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Rust
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Requires-Dist: numpy>=1.23
Requires-Dist: xarray>=2024.10
Requires-Dist: arm-pyart>=2.2 ; extra == 'pyart'
Requires-Dist: pytest>=8 ; extra == 'test'
Requires-Dist: xradar>=0.12 ; extra == 'test'
Requires-Dist: arm-pyart>=2.2 ; extra == 'test'
Requires-Dist: h5netcdf ; extra == 'test'
Requires-Dist: netcdf4 ; extra == 'test'
Requires-Dist: metpy>=1.6 ; extra == 'test'
Requires-Dist: tomli ; python_full_version < '3.11' and extra == 'test'
Provides-Extra: pyart
Provides-Extra: test
License-File: LICENSE-APACHE
License-File: LICENSE-MIT
Summary: Weather radar files (NEXRAD Level II/III, ODIM_H5, CfRadial, DORADE, JMA) as xarray DataTrees and Py-ART radars, decoded in Rust
License-Expression: MIT OR Apache-2.0
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://recastsystems.github.io/recast-radar-docs/
Project-URL: Repository, https://github.com/recastsystems/recast-radar-tools

# recast-radar (Python)

Python bindings for recast-radar-tools: weather radar files as xarray
DataTrees following WMO FM301 (CfRadial 2), `pyart.core.Radar` objects,
writers and data fetchers, with the decoding done in Rust.

```python
import recast_radar

tree = recast_radar.open("KTLX20240315_000217_V06")   # xarray.DataTree
radar = recast_radar.to_pyart("KTLX20240315_000217_V06")
```

Reads NEXRAD Level II and Level III, ODIM_H5, CfRadial 1 and 2 (classic
netCDF and netCDF-4), DORADE and JMA radar GRIB2, and writes NEXRAD Level II,
CfRadial 1, ODIM_H5 and FM301. The installed package also provides the
`recast-radar` command. Guides:
[field guide](https://recastsystems.github.io/recast-radar-docs/),
[Python guide](https://github.com/recastsystems/recast-radar-tools/blob/main/docs/guide/python.md).

The Rust crate `recast-radar-py` is the extension module
`recast_radar._native`; the package lives in `python/recast_radar`, the tests
in `pytests/`. Build a wheel with maturin (`maturin build --release`).

## Processing and native rendering

See [frontend-processing.md](https://github.com/recastsystems/recast-radar-tools/blob/main/docs/guide/frontend-processing.md)
for the shared Python/CLI product API, rendering, and the CLI bundled in the
Python wheel.

