semvec/pypi-packages huggingface dataset:
hydrostats 1.0.0
Tools for use in comparison studies, specifically for use in the field of hydrology
License: MIT
Requires Python: <=3.15,>=3.10
Keywords: hydrology, error, metrics, comparison, statistics, forecast, observed

[![CI](https://github.com/BYU-Hydroinformatics/Hydrostats/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/BYU-Hydroinformatics/Hydrostats/actions/workflows/ci.yml?query=branch:master)
[![image](https://img.shields.io/pypi/v/hydrostats.svg)](https://pypi.python.org/pypi/hydrostats)
[![image](https://img.shields.io/pypi/l/hydrostats.svg)](https://github.com/BYU-Hydroinformatics/Hydrostats/blob/master/LICENSE.txt)
[![image](https://img.shields.io/pypi/pyversions/hydrostats.svg)](https://pypi.python.org/pypi/hydrostats)

Tools for use in comparison studies, specifically for use in the field of hydrology

- **Documentation:** https://hydrostats.readthedocs.io/en/stable/
- **Source:** https://github.com/BYU-Hydroinformatics/Hydrostats
- **Bug reports:** https://github.com/BYU-Hydroinformatics/Hydrostats/issues

Hydrostats provides:

- Preprocessing Tools
- Visualization Tools
- Access to over 70 error metrics through the [HydroErr package](https://github.com/BYU-Hydroinformatics/HydroErr) dependency
- A library of relevant metrics to measure forecast skill

Publications:
- Roberts, W., Williams, G., Jackson, E., Nelson, E., Ames, D., 2018. Hydrostats: A Python Package for Characterizing Errors between Observed and Predicted Time Series. Hydrology 5(4) 66, doi:10.3390/hydrology5040066

We would request that if you use this package that you please cite the above paper. The journal paper is open access and can be found at https://doi.org/10.3390/hydrology5040066. BibTeX, EndNote, and RIS files can be downloaded at the journal site.

[![Powered by BYU Hydroinformatics](https://img.shields.io/badge/powered%20by-BYU%20HydroInformatics-blue.svg)](http://worldwater.byu.edu/)
pieui 0.1.0a1
A Pythonic UI framework using context managers and signals
License: MIT
Requires Python: >=3.14
Keywords: context-managers, framework, reactive, signals, tui, ui, wasm, web

# PyFuse

A Pythonic UI framework for building interactive web applications entirely in Python.

PyFuse uses Python's context managers to define UI hierarchy (indentation = topology) and a reactive signal system for state management. No JavaScript required.

## Prerequisites

- **Python 3.14+** (No-GIL build required)
- **uv** package manager

## Quick Start

```bash
# Clone and setup
git clone https://github.com/pproenca/pyfuse.git
cd pyfuse
make setup
```

## Demo Examples

PyFuse includes four example applications demonstrating different capabilities.

### Web Examples

Run any of these in separate terminals:

```bash
# Todo App - Signal reactivity and Effect persistence
cd examples/todo && uv run pyfuse dev --web
# Open http://localhost:8000

# Dashboard - Computed values and Flexbox layout
cd examples/dashboard && uv run pyfuse dev --web
# Open http://localhost:8001

# Chat - @rpc decorator for server functions
cd examples/chat && uv run pyfuse dev --web
# Open http://localhost:8002
```

### TUI Example

```bash
# Console - Terminal-based system monitor
cd examples/console && uv run pyfuse dev
# Renders directly in terminal (press 'q' to quit)
```

## Web vs TUI Mode

PyFuse supports two rendering modes:

| Mode | Command | Output |
|------|---------|--------|
| **TUI** (default) | `pyfuse dev` | Terminal-based UI |
| **Web** | `pyfuse dev --web` | Browser at localhost |

## Core Concepts

### Signals (Reactive State)

```python
from pyfuse import Signal

count = Signal(0)
count.value += 1  # Triggers reactive updates
```

### Context Manager UI

```python
from pyfuse.ui import Flex, Box, Text

with Flex(direction="column"):
    with Box(padding=10):
        Text("Hello, PyFuse!")
```

### RPC (Server Functions)

```python
from pyfuse import rpc

@rpc
def save_data(data: dict) -> bool:
    # Runs on server, client gets fetch stub
    db.save(data)
    return True
```

## Architecture

See [MANIFEST.md](MANIFEST.md) for architectural principles.

## Development

```bash
make test      # Run tests
make lint      # Run linters
make check     # All pre-commit hooks
```