2.0.0¶
2.0.0 is the first release in Wove’s remote task environment series. It keeps Wove’s inline workflow model, but adds the execution-environment layer needed to send selected tasks outside the current Python process.
Runtime Configuration¶
Adds process-wide configuration through
wove.config(...).Adds optional
wove_config.pydiscovery for project-level configuration.Uses
WOVE_CONFIG = {...}as the dictionary-based config file shape.Adds
default_environmentand named environments so projects can keep most work local while routing selected tasks elsewhere.Adds precedence rules for task-level options, weave-level options, environment defaults, global defaults, and built-in defaults.
Task Execution¶
Adds
environment=...routing at the weave and task level.Adds task-level delivery policy options for work that crosses an executor boundary.
Expands
merge(...)so sync tasks can call it directly and async tasks can continue awaiting it.Allows merged callables to be sync or async regardless of whether the calling task is sync or async.
Adds
@w.do(...)-style execution options tomerge(...):retries,timeout,workers,limit_per_minute,environment, and thedelivery_*policy options.Routes
merge(..., environment=...)through the configured executor runtime so merged helper work can run in remote task environments.Adds delivery timeout, idempotency key, cancellation mode, heartbeat interval, max-in-flight, and orphan policy settings.
Adds normalized delivery exceptions for timeout, orphaned work, missing dispatch support, and remote execution errors.
Keeps local execution dependency-light by moving dispatch serialization behind the optional
wove[dispatch]extra.
Executors¶
Adds a public executor interface for custom execution engines.
Adds local execution, stream-based
stdiosubprocess execution, and network executor delivery.Adds HTTP/HTTPS, gRPC, and WebSocket executors for direct worker-service integrations.
Adds network executor security for signed requests, bearer tokens, TLS requirements, and explicit insecure development configuration.
Backend Adapters¶
Adds adapter-backed remote task execution for existing task systems.
Ships adapters for Celery, Temporal, Ray, RQ, Taskiq, ARQ, Dask, Kubernetes Jobs, AWS Batch, and Slurm.
Keeps backend libraries optional: adapter code ships with Wove, but each backend package is required only when that adapter is selected.
Keeps Slurm support on the portable
sbatch/scancelpath by default instead of requiringpyslurmand host Slurm libraries during generic adapter testing.Adds callback-based result delivery for backend-owned work so remote workers can return task results, task errors, cancellation, and delivery events to the local weave.
Adds worker entrypoints for synchronous and asynchronous backend workers.
Packaging¶
Exposes
wove.__version__for runtime version checks.Includes
py.typedin the distribution so type checkers can recognize Wove as a typed package.Declares
pytestdirectly in the development dependency set used by the test workflow.Marks documentation dependencies with their supported Python versions while keeping the core package available on Python 3.8+.
Documentation¶
Adds the Sphinx and Shibuya documentation site.
Adds topic pages for the core workflow, task mapping, task quality-of-life options, inheritable weaves, helper functions, error handling, debugging, background processing, remote task environments, and production patterns.
Adds reference pages for the public API, environments, executors, backend adapters, runtime modules, network security, and version history.
Adds per-integration setup pages for network executors and backend adapters.
Adds GitHub Actions workflows for validating docs builds and publishing the generated site with GitHub Pages.
Updates the README to mirror the documentation index while keeping badges and project branding.