Pynenc Documentation¶
A task management system for complex distributed orchestration in Python.
Pynenc manages the routing, scheduling, and execution of tasks across distributed Python processes. It provides automatic orchestration, concurrency control, workflow management, and a plugin-based architecture for swapping backends without changing application code.
Installation¶
pip install pynenc
Backend Plugins¶
Plugin |
Install |
Backend |
|---|---|---|
Redis |
|
Redis backend plugin |
MongoDB |
|
Document-store backend |
RabbitMQ |
|
Message-broker backend |
Monitoring¶
pip install pynenc[monitor]
Quick Start¶
from pynenc import Pynenc
app = Pynenc()
@app.task
def add(x: int, y: int) -> int:
return x + y
# Route and retrieve the result
result = add(1, 2).result
For a complete walkthrough, see the Getting Started tutorial.
What’s New in v0.1.0¶
Plugin Architecture: Modular backend system with Redis, MongoDB, and RabbitMQ as separate plugins
Invocation State Machine: Declarative, type-safe status management with ownership tracking
Runner Recovery: Automatic detection and recovery of stuck invocations from inactive runners
Enhanced Monitoring: SVG-based timeline visualization, runner monitoring, workflow tracking
Fluent Builder API: Extensible
PynencBuilderwith plugin-provided methods
See the Changelog for the complete list of changes.