Metadata-Version: 2.4
Name: metrovalencia
Version: 0.1.2
Summary: Un paquete de Python para obtener datos de Metrovalencia usando MetroAPI, la API no oficial.
Author-email: Alex Badi <alex@alexbadi.es>
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.24.0
Requires-Dist: rapidfuzz>=3.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Dynamic: license-file

<div align="center">

<img
  src="https://raw.githubusercontent.com/sayborduu/metrovalencia-py/refs/heads/main/repo/Icon.png"
  alt="Picture"
  style="height: 130px;"
/>

# metrovalencia-py

  <a href="https://github.com/sayborduu/metrovalencia-py/stargazers">
    <img src="https://img.shields.io/github/stars/sayborduu/metrovalencia-py?style=flat&logo=github&" alt="Estrellas de GitHub">
  </a>
  <a href="https://github.com/sayborduu/metrovalencia-py/releases">
    <img src="https://img.shields.io/github/v/release/sayborduu/metrovalencia-py?logo=github" alt="Versión de GitHub">
  </a>
  <a href="https://github.com/sayborduu/metrovalencia-py/blob/main/LICENSE">
    <img src="https://img.shields.io/github/license/sayborduu/metrovalencia-py?logo=github" alt="Licencia">
  </a>

  Un paquete de Python para obtener datos de Metrovalencia usando MetroAPI, la API no oficial.

<a href="https://dash.metroapi.alexbadi.es">panel API</a>
•
[documentación](repo/docs/README.md)
•
<a href="https://docs.metroapi.alexbadi.es">documentación MetroAPI</a>


</div>

## Inicio rápido

```python
from metrovalencia import MetroValencia

metro = MetroValencia(
    app_name="miapp",
    contact="dev@ejemplo.com"
)

previsiones = metro.previsiones.get("Alameda")
for p in previsiones.previsiones:
  print(f"L{p.line} {p.destino}: llega en {p.seconds}s")

result = metro.paradas.buscar("Marítim")
print(f"Encontrado {len(result.paradas)} paradas")
for p in result.paradas:
  print(p)

ruta = metro.rutas.rutap("Colón", "Bailén")
print(f"Tiempo entre Colón y Bailén: {ruta.tiempo_total_minutos:.2f} minutos.") 
print(f"Tiempo entre paradas: {ruta.ruta[len(ruta.ruta) - 1].segundos_acumulados - ruta.ruta[0].segundos_acumulados} segundos")

metro.close()
```

## Documentación

Puedes ver la documentación en **[repo/docs/README.md](repo/docs/README.md)**.

## Datos

Puedes elegir el formato de las respuestas usando `response_type`. Hay tres opciones:

- **`class`** (por defecto): Datos en `dataclasses`
- **`json`**: Respuesta exacta del servidor.
- **`parsed_json`**: JSON pero más limpio (se quitan los `null` y se utiliza `snake_case`).

```python
metro = MetroValencia(
    app_name="miapp",
    contact="dev@ejemplo.com",
    response_type="class"  # por defecto
)
```

## ¿Qué puedes hacer?

- Puedes ver previsiones o el estado de las paradas
- Ver las incidencias de transporte o accesibilidad
    - Ver incidencias v2, en pruebas, basadas en los Tweets y Incidencias de la API, categorizadas con IA.
- Ver información de tarjetas de metro
- Hacer rutas entre dos paradas
- Información, como las tarifas, zonas
- Obtener las noticias de metrovalencia


## Historial de Estrellas

<a href="https://www.star-history.com/?repos=sayborduu%2Fmetrovalencia-py&type=date&legend=top-left">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=sayborduu/metrovalencia-py&type=date&theme=dark&legend=top-left" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=sayborduu/metrovalencia-py&type=date&legend=top-left" />
   <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=sayborduu/metrovalencia-py&type=date&legend=top-left" />
 </picture>
</a>

## Licencia
MIT
