Skip to main content

Pipeline library with API integration for task orchestration and execution tracking

Project description

🚀 WPipe v1.6.2

El motor de orquestación de pipelines más rápido, resiliente y puro para Python.

WPipe es una librería industrial diseñada para automatizar flujos de trabajo complejos, garantizando que tus datos viajen seguros, tus procesos sean ultra-rápidos y tus fallos sean fáciles de diagnosticar.

PyPI version Documentation Status License: MIT


💎 ¿Por qué WPipe?

Diferénciate de los scripts lineales. WPipe te ofrece superpoderes:

  • Modo Relámpago: Optimización extrema de SQLite (WAL Mode) y monitorización de hardware sin bloqueos. ¡Velocidad de ráfaga real!
  • 🧵 Paralelismo Nativo: Ejecuta tareas en Hilos o Procesos con un solo comando. Bypass del GIL para tareas pesadas de CPU.
  • 🛡️ Checkpoints Inteligentes: Define hitos basados en expresiones lógicas. Si el sistema cae, WPipe reanuda exactamente donde se quedó.
  • 🔍 Captura de Errores Forense: Olvídate de los errores genéricos. Recibe notificaciones detalladas con el archivo y la línea exacta del fallo.
  • 🧬 Contratos de Datos (TypeValidator): Valida tu "Bodega" de datos automáticamente con esquemas estrictos pero extensibles.
  • 🔄 Paridad Síncrona/Asíncrona: Elige entre Pipeline o PipelineAsync con el 100% de las mismas funcionalidades.

🛠️ Instalación Instantánea

pip install wpipe

🚀 Ejemplo de Poder: El Viaje Resiliente

from wpipe import Pipeline, For, Condition, Parallel, step, to_obj, PipelineContext

# 1. Definimos el contrato de nuestra Bodega
class MiContexto(PipelineContext):
    motor: str
    temperatura: float

# 2. Creamos estados inteligentes con validación automática
@step(name="Verificar", retry_count=3)
@to_obj(MiContexto) # <-- ACTIVA LA VALIDACIÓN Y CONVERSIÓN
def verificar_motor(ctx: MiContexto):
    print(f"Chequeando motor: {ctx.motor}")
    return {"temperatura": 85.5}

# 3. Orquestación de Alto Nivel
viaje = Pipeline(pipeline_name="Viaje_LTS", verbose=True)

# Añadimos hitos inteligentes
viaje.add_checkpoint("arranque", expression="temperatura > 0")

viaje.set_steps([
    verificar_motor,
    Parallel(
        steps=[revisar_luces, hechar_gasolina],
        max_workers=2
    ),
    For(iterations=10, steps=[conducir_paso])
])

results = viaje.run({"motor": "V8"})

📊 Observabilidad y Análisis

WPipe no solo ejecuta, entiende tu proceso.

  • AnalysisManager: Obtén estadísticas de éxito, tiempos medios y detecta cuellos de botella automáticamente.
  • ResourceMonitor: Controla el pico de RAM y el consumo de CPU de cada ejecución.
  • PipelineExporter: Exporta tus reportes de ejecución a JSON o CSV listos para auditoría.

🌐 Dashboard Web

Visualiza tus pipelines en tiempo real con el dashboard integrado:

from wpipe import start_dashboard

start_dashboard(db_path="mi_tracking.db", port=8000)

🛡️ Soporte y Calidad

  • LTS Policy: WPipe v1.6+ cuenta con soporte a largo plazo.
  • 95% Test Coverage: Probado rigurosamente en entornos síncronos y asíncronos.
  • Arquitectura Pura: Unificación total bajo wsqlite, eliminando SQL crudo del núcleo.

Diseñado con ❤️ por William Rodriguez (wisrovi) para ingenieros que no aceptan menos que la perfección.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wpipe-1.6.2.tar.gz (136.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wpipe-1.6.2-py3-none-any.whl (106.4 kB view details)

Uploaded Python 3

File details

Details for the file wpipe-1.6.2.tar.gz.

File metadata

  • Download URL: wpipe-1.6.2.tar.gz
  • Upload date:
  • Size: 136.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for wpipe-1.6.2.tar.gz
Algorithm Hash digest
SHA256 d381ed9f1bcbda2eede94e841eb6bedd5f4e54260ffc718be58343663833d676
MD5 57f9d5c637cfd6149c635686bfd9899f
BLAKE2b-256 08b04c672fbb3dfaf252667a79cf5817f24e439552fadd09eb058130e379d949

See more details on using hashes here.

File details

Details for the file wpipe-1.6.2-py3-none-any.whl.

File metadata

  • Download URL: wpipe-1.6.2-py3-none-any.whl
  • Upload date:
  • Size: 106.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for wpipe-1.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 addc6946fbce12dd3e07f93ff653aba256f15dfaeac642044eed28cb10645fea
MD5 cd6f5b43390c49492b6f08f1ee5023ba
BLAKE2b-256 d8f9900be2cc770053d99b290cf078c81ff8ec15fbdbaa6d313e8bb7a4c6ed57

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page