Skip to main content

Pipeline library with API integration for task orchestration and execution tracking

Project description

🚀 WPipe v1.6.3

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.3.tar.gz (54.9 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.3-py3-none-any.whl (62.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wpipe-1.6.3.tar.gz
  • Upload date:
  • Size: 54.9 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.3.tar.gz
Algorithm Hash digest
SHA256 014800641e0c00ba75f872fb5e76d86ba058643873f6c649000813c2a41bfed8
MD5 100a19cfd3db39504c0bd0bab39a028e
BLAKE2b-256 8b08a93c9bf98459ef32bb477d049be3b41b46e60b689b80f5b4d21453d7527c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wpipe-1.6.3-py3-none-any.whl
  • Upload date:
  • Size: 62.5 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6efeb3a4526a96af54bedfafcd69a988c1dbb6f918ac20b8eb4c1954d29fce11
MD5 7caa819738f52cf6d6e26136cccc6bec
BLAKE2b-256 6b4d874fec7774046845ccc24a95fbf99548a63c02f2b2d13f1995625e7f1642

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