Metadata-Version: 2.3
Name: teehr
Version: 0.4.8
Summary: Tools for Exploratory Evaluation in Hydrologic Research
License: GNU v3
Author: RTI International
Requires-Python: >=3.10,<4.0
Classifier: License :: Other/Proprietary 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
Requires-Dist: arch (>=7.0.0,<8.0.0)
Requires-Dist: bokeh (>=3.5.0,<4.0.0)
Requires-Dist: dask[dataframe] (>=2024.11.1,<2025.0.0)
Requires-Dist: dataretrieval (>=1.0.9,<2.0.0)
Requires-Dist: duckdb (>=1.0.0,<2.0.0)
Requires-Dist: fsspec (>=2023.10.0)
Requires-Dist: gcsfs (>=2023.10.0)
Requires-Dist: geopandas (>=0.14.0,<0.15.0)
Requires-Dist: h5py (==3.12.1)
Requires-Dist: httpx (>=0.25.1,<0.26.0)
Requires-Dist: hvplot (>=0.11.1,<0.12.0)
Requires-Dist: hydrotools-metrics (>=1.3.3,<2.0.0)
Requires-Dist: hydrotools-nwis-client (>=3.3.1,<4.0.0)
Requires-Dist: kerchunk (>=0.2.2,<0.3.0)
Requires-Dist: netcdf4 (==1.6.5)
Requires-Dist: numba (>=0.60.0,<0.61.0)
Requires-Dist: pandas (>=2.2.0,<3.0.0)
Requires-Dist: pandera[pyspark] (>=0.20.4,<0.21.0)
Requires-Dist: pyarrow (>=15.0.0,<16.0.0)
Requires-Dist: pydantic (>=2.4.2,<3.0.0)
Requires-Dist: pyspark[pandas-on-spark] (>=3.5.2,<4.0.0)
Requires-Dist: rasterio (>=1.3.9,<2.0.0)
Requires-Dist: rioxarray (>=0.15.0,<0.16.0)
Requires-Dist: s3fs (>=2023.10.0)
Requires-Dist: scoringrules (>=0.7.1,<0.8.0)
Requires-Dist: ujson (>=5.8.0,<6.0.0)
Requires-Dist: zarr (>=2.16.1,<3.0.0)
Description-Content-Type: text/markdown

![alt text](https://github.com/RTIInternational/teehr/blob/main/docs/images/teehr.png)

| | |
| --- | --- |
| ![alt text](https://ciroh.ua.edu/wp-content/uploads/2022/08/CIROHLogo_200x200.png) | Funding for this project was provided by the National Oceanic & Atmospheric Administration (NOAA), awarded to the Cooperative Institute for Research to Operations in Hydrology (CIROH) through the NOAA Cooperative Agreement with The University of Alabama (NA22NWS4320003). |


# TEEHR - Tools for Exploratory Evaluation in Hydrologic Research
TEEHR (pronounced "tier") is a python tool set for loading, storing,
processing and visualizing hydrologic data, particularly National Water
Model data, for the purpose of exploring and evaluating the datasets to
assess their skill and performance.

NOTE: THIS PROJECT IS UNDER DEVELOPMENT - EXPECT TO FIND BROKEN AND INCOMPLETE CODE.

## Documentation
[TEEHR Documentation](https://rtiinternational.github.io/teehr/)

## How to Install TEEHR
We do not currently push TEEHR to PyPI, so the easiest way to install it is directly from GitHub.
If using `pip` to install TEEHR, we recommend installing TEEHR in a virtual environment.
The code below should create a new virtual environment and install TEEHR in it.

```bash
# Create directory for your code and create a new virtual environment.
mkdir teehr_examples
cd teehr_examples
python3 -m venv .venv
source .venv/bin/activate

# Install using pip.
# Starting with version 0.4.1 TEEHR is available in PyPI
pip install teehr

# Download the required JAR files for Spark to interact with AWS S3.
python -m teehr.utils.install_spark_jars
```
Use Docker
```bash
$ docker build -t teehr:v0.4.8 .
$ docker run -it --rm --volume $HOME:$HOME -p 8888:8888 teehr:v0.4.8 jupyter lab --ip 0.0.0.0 $HOME
```

## Examples
For examples of how to use TEEHR, see the [examples](examples).  We will maintain a basic set of example Jupyter Notebooks demonstrating how to use the TEEHR tools.


## Resources
In May of 2023 we put on a workshop at the CIROH 1st Annual Training and Developers Conference.  The workshop materials and presentation are available in the workshop GitHub repository: [teehr-may-2023-workshop](https://github.com/RTIInternational/teehr-may-2023-workshop).  This workshop was based on version 0.1.0.

## Versioning
The TEEHR project follows semantic versioning as described here: [https://semver.org/](https://semver.org/).
Note, per the specification, "Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.".  We are solidly in "major version zero" territory, and trying to move fast, so expect breaking changes often.

