Metadata-Version: 2.4
Name: tupyx
Version: 0.1.0
Summary: A Python library for building reactive web dashboards 100% in Python
Author: GuiEspim18
License: MIT
Keywords: dashboard,reactive,html,web,bi,charts
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT 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: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Provides-Extra: pandas
Requires-Dist: pandas>=1.5; extra == "pandas"

# tupyx

Framework Python para criar dashboards reativos 100% em Python — sem JavaScript, sem HTML manual, sem templates.

```python
from tupyx.ui import *
from tupyx.server import run

contador = Reactive(0)

@page("/")
def home():
    def incrementar():
        contador.update(lambda v: v + 1)

    return Div(
        H1(contador),
        Button("+1").on_click(incrementar),
    )

def app():
    return Html(Head(Title("Meu App")), Body(Router()))

run(app)
```

## Instalação

```bash
pip install tupyx
```

Com suporte a pandas:

```bash
pip install tupyx[pandas]
```

## Começando

```bash
tupyx init meu-dashboard
cd meu-dashboard
tupyx run app.py
```

Abra [http://localhost:8000](http://localhost:8000) no browser.

## Recursos

- **Reatividade** — `Reactive()` para estado que atualiza a UI automaticamente
- **Roteamento** — `@page("/rota")` para múltiplas páginas
- **Gráficos** — `BarChart`, `LineChart`, `AreaChart`, `DonutChart`, `TableChart` e mais
- **KPI Cards** — `@measure()` para métricas reativas
- **Hot-reload** — browser atualiza ao salvar o arquivo
- **Pandas** — aceita `DataFrame` e `Series` diretamente nos gráficos

## Licença

MIT
