Metadata-Version: 2.4
Name: ras-commander-fast-hdf
Version: 0.1.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
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: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Rust
Classifier: Topic :: Scientific/Engineering :: Hydrology
Requires-Dist: numpy>=1.24
Requires-Dist: pyarrow>=14 ; extra == 'exports'
Requires-Dist: pyproj>=3.6 ; extra == 'exports'
Requires-Dist: shapely>=2.1 ; extra == 'exports'
Provides-Extra: exports
License-File: licenses/freestiler-ISC.txt
License-File: licenses/freestiler-MIT.txt
License-File: licenses/hdf5-reader-MIT.txt
License-File: licenses/i-float-LICENSE.txt
License-File: licenses/i-overlay-LICENSE.txt
License-File: licenses/ras-commander-LICENSE.txt
License-File: licenses/ras-commander-rust-LICENSE.txt
License-File: THIRD-PARTY-NOTICES.md
Summary: Native (Rust) HEC-RAS HDF engine for ras-commander
Keywords: HEC-RAS,HDF5,hydraulics,ras-commander,rust
Author: CLB Engineering Corporation
License-Expression: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Changelog, https://github.com/gpt-cmdr/ras-commander-fast-hdf/blob/main/CHANGELOG.md
Project-URL: Documentation, https://rascommander.info/ras/native-engine/
Project-URL: Homepage, https://github.com/gpt-cmdr/ras-commander-fast-hdf
Project-URL: Issues, https://github.com/gpt-cmdr/ras-commander-fast-hdf/issues
Project-URL: Source, https://github.com/gpt-cmdr/ras-commander-fast-hdf

# ras-commander-fast-hdf

A native (Rust) reader for HEC-RAS HDF files, used by
[ras-commander](https://github.com/gpt-cmdr/ras-commander).

Install it next to ras-commander and the `Hdf*` classes read plan results,
geometry, terrain and land-cover HDF files through this engine instead of
h5py. Results are identical (values, dtypes, columns, index, CRS, attributes
and exceptions). Large reads are faster: 2D cell polygons 4–19× depending on
mesh size, and mesh time series 2–7× on large meshes. Small reads are a few
milliseconds slower.

## Install

```bash
pip install ras-commander ras-commander-fast-hdf
```

```python
from ras_commander import fast_hdf
fast_hdf.available()   # True
```

Wheels: Windows x64, Linux x64 (`manylinux_2_28`) and macOS arm64, CPython
3.10 or later. No HDF5 C library or Rust toolchain is needed to install.
Windows and Linux are qualified against HEC-RAS result files; macOS builds
and passes the smoke tests but has not been qualified.

## Engine modes

Choose the mode with `RAS_COMMANDER_FAST_HDF`:

| Value | Behavior |
|---|---|
| `auto` (default) | Native where it is qualified; h5py whenever the engine refuses a read. |
| `h5py` | Never use the native engine. |
| `native` | Native or raise `FastHdfError`; for testing and qualification. |

## Links

- User guide: <https://rascommander.info/ras/native-engine/>
- Source, developer docs and issues: <https://github.com/gpt-cmdr/ras-commander-fast-hdf>
- Changelog: <https://github.com/gpt-cmdr/ras-commander-fast-hdf/blob/main/CHANGELOG.md>

## License

MIT license. The wheel includes the licenses of every bundled crate in
`THIRD-PARTY-NOTICES.md`.

ras-commander-fast-hdf is an independent open source project. HEC-RAS is
developed by the U.S. Army Corps of Engineers Hydrologic Engineering Center
(HEC). This project is not affiliated with, endorsed by, or supported by HEC
or USACE.

