Metadata-Version: 2.4
Name: nph-client
Version: 0.2.1
Summary: Biblioteca de visualização de dados oceanográficos e meteorológicos do NPH-UNISANTA.
Author: NPH UNISANTA
Keywords: nph,nph-client,oceanografia,meteorologia,plotly,graficos,nivel-do-mar,chuva,unisanta
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
Requires-Dist: pandas>=1.5.0
Requires-Dist: plotly>=5.0.0
Requires-Dist: requests>=2.25.0
Requires-Dist: python-dateutil>=2.8.0
Requires-Dist: numpy>=1.20.0
Requires-Dist: nbformat>=4.2.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: kaleido>=0.2.1; extra == "dev"

# nph-client 🌊

Biblioteca em Python para geração padronizada e simplificada de gráficos oceanográficos e meteorológicos do **NPH-UNISANTA** (Núcleo de Pesquisas Hidrodinâmicas da Unisanta).

## Instalação

```bash
pip install nph-client
```

## Principais Funções

### 1. Nível do Mar (`plot_nivel_mar`)
Plota o gráfico de linha de nível do mar com picos destacados e limiares do **PPDC Ressacas**:
- **OBSERVAÇÃO**: `< 1.8m`
- **ATENÇÃO**: `1.8m a 2.0m`
- **ALERTA**: `≥ 2.0m`

```python
from nph_client import NPHClient, plot_nivel_mar

client = NPHClient(api_key="SUA_API_KEY")
df_nivel = client.get_measurements(stations="ESTACAO_NIVEL", start_date="2026-08-05", end_date="2026-08-07")

fig = plot_nivel_mar(df=df_nivel, title="Nível do Mar - Estação")
fig.show()
```

> **Dica**: Para ocultar as linhas e faixas dos limiares PPDC, utilize `show_thresholds=False`.

---

### 2. Precipitação Pluviométrica / Chuva (`plot_chuva`)
Plota o gráfico de barras para chuva (mm):

```python
from nph_client import NPHClient, plot_chuva

client = NPHClient(api_key="SUA_API_KEY")
df_chuva = client.get_measurements(stations="ESTACAO_CHUVA", start_date="2026-08-05", end_date="2026-08-07")

fig = plot_chuva(df=df_chuva, title="Precipitação Pluviométrica - Estação")
fig.show()
```

---

### 3. Gráfico Combinado Nível e Precipitação (`plot_combinado_nivel_precipitacao`)
Reúne Nível do Mar e Chuva no mesmo gráfico com eixo secundário:

```python
from nph_client import NPHClient, plot_combinado_nivel_precipitacao

client = NPHClient(api_key="SUA_API_KEY")
df_nivel = client.get_measurements(stations="ESTACAO_NIVEL", start_date="2026-08-05", end_date="2026-08-07")
df_chuva = client.get_measurements(stations="ESTACAO_CHUVA", start_date="2026-08-05", end_date="2026-08-07")

fig = plot_combinado_nivel_precipitacao(
    df_nivel=df_nivel,
    df_chuva=df_chuva,
    title="Gráfico Combinado: Nível e Precipitação"
)
fig.show()
```

> **Dica de Escala**: Você pode definir os limites mínimo e máximo dos eixos passando `y_range=(min, max)`:
> - Nível do Mar: `plot_nivel_mar(df=df_nivel, y_range=(0.0, 2.5))`
> - Chuva: `plot_chuva(df=df_chuva, y_range=(0.0, 50.0))` *(a chuva inicia do 0 mm por padrão)*
> - Combinado: `plot_combinado_nivel_precipitacao(df_nivel=df_nivel, df_chuva=df_chuva, y_range_nivel=(0.0, 2.5), y_range_chuva=(0.0, 60.0))`

## Requisitos
- `pandas`
- `plotly`
- `requests`
- `python-dateutil`
- `numpy`
- `nbformat`

## Licença
Licenciado sob a licença MIT.
