Metadata-Version: 2.4
Name: ras-commander-fast-hdf
Version: 0.1.1
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

The default HDF engine of
[ras-commander](https://github.com/gpt-cmdr/ras-commander): a native (Rust)
reader for HEC-RAS HDF files.

ras-commander's `Hdf*` classes read plan results, geometry, terrain and
land-cover HDF files through this engine. Results are identical to the h5py
reference implementation (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. In the default `auto` mode, any read the engine refuses
uses h5py.

## Install

ras-commander 0.107.1 and later install this package automatically on
Windows x64, Linux x64 and macOS arm64, so this is enough:

```bash
pip install ras-commander
```

With ras-commander 0.107.0, install both:
`pip install ras-commander ras-commander-fast-hdf`.

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

Wheels: Windows x64, Linux x64 (`manylinux2014`, glibc 2.17 or later; and
`musllinux_1_2` for Alpine) 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. On other platforms
ras-commander does not install the engine and uses h5py for every read; the
source distribution builds the engine there but needs Rust.

## Engine modes

Choose the mode with `RAS_COMMANDER_FAST_HDF` (`h5py` turns the native
engine off):

| 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.

