taskflow
Taskflow structured state management library.
Decision gist · record as of 2026-08-14
Yes, if you need declarative workflow orchestration with built-in fault tolerance and persistence. TaskFlow is production-stable (since 2013), actively maintained, has low install friction, and carries a permissive license. Its 13 runtime dependencies are manageable for most environments. Install it if you're building task-driven systems; skip it if you only need simple job queuing or one-off script execution.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Optional persistence and worker backends (sqlalchemy, kombu, kazoo) must be installed separately via extras if needed.
- Low friction installation with a pure-Python wheel.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions; suitable for most proprietary and open-source projects.
last release 2026-05-18 (88 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 176,421 downloads/mo, #10,242 on PyPI
Alternatives
Verify before relying
pip install taskflow
from taskflow import task, flow
class MyTask(task.Task):
def execute(self):
return "result"
my_flow = flow.Flow('my-flow').add(MyTask())
my_flow.run()- Whether the 13 runtime dependencies are all strictly necessary for basic workflow execution or if many are only needed for optional backends.
- Performance characteristics and scalability limits for large task graphs or high-frequency execution.
- Compatibility with async/await patterns or whether it is callback/synchronous-only.
What it is and what it does
TaskFlow is a structured state management library designed to orchestrate jobs, tasks, and flows in a declarative, highly available manner. It provides a framework for defining workflows as directed acyclic graphs of tasks, with built-in support for error recovery, rollback, and persistence. The library is part of the OpenStack ecosystem but is general-purpose and can be used in any Python project that needs reliable task execution.
The package ships with core execution capabilities and a pluggable architecture for optional backends: persistence layers (e.g., sqlalchemy), execution engines (e.g., worker-based via kombu), and job boards (e.g., kazoo-based). Most of these are opt-in extras; the base installation provides in-memory execution and local task scheduling. It depends on networkx for graph representation, stevedore for plugin management, and oslo libraries for serialization and utilities.
Use it for
- Build reliable ETL pipelines with automatic retry and rollback on failure.
- Orchestrate multi-step deployment or provisioning workflows in cloud infrastructure.
- Define complex job dependencies and execute them across distributed worker pools.
- Implement long-running background job queues with persistence and recovery.
- Model state transitions and task workflows in microservice architectures.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need declarative workflow orchestration with built-in fault tolerance and persistence.
TaskFlow is production-stable (since 2013), actively maintained, has low install friction, and carries a permissive license. Its 13 runtime dependencies are manageable for most environments. Install it if you're building task-driven systems; skip it if you only need simple job queuing or one-off script execution.
Install
taskflow on PyPI
Before you install
Low friction installation with a pure-Python wheel. Actively maintained (last release 88 days ago). Requires 13 runtime dependencies including networkx, stevedore, and oslo libraries; optional extras like workers, sqlalchemy, and kazoo backends are available for specialized use cases.
Requires Python 3.10 or later. Optional persistence and worker backends (sqlalchemy, kombu, kazoo) must be installed separately via extras if needed.
License in practice
Apache-2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions; suitable for most proprietary and open-source projects.
Quickstart
pip install taskflow
from taskflow import task, flow
class MyTask(task.Task):
def execute(self):
return "result"
my_flow = flow.Flow('my-flow').add(MyTask())
my_flow.run()
Verify before relying
- Whether the 13 runtime dependencies are all strictly necessary for basic workflow execution or if many are only needed for optional backends.
- Performance characteristics and scalability limits for large task graphs or high-frequency execution.
- Compatibility with async/await patterns or whether it is callback/synchronous-only.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 13 packagespbrdebtcollectorfuturistfastenersnetworkxstevedorejsonschemaautomatonoslo.utilsoslo.serializationtenacitycachetoolspydot |
| Maintenance | Actively maintained 88 days since the last release |
| First released | |
| Downloads | 176,421 / month, #10,242 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Software Development :: LibrariesTopic :: System :: Distributed Computing |
Evidence: taskflow-6.3.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “job flow management”
- taskflowTaskFlow is a library for defining and executing workflows as…
- metaflow-checkpointProvides decorators for Metaflow workflows to save and resume…
- databricks-sdkProvides Python bindings to all public Databricks REST APIs, enabling…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also craft-parts · python-mistralclient · automaton · taskcluster-taskgraph · eventsourcing · futurist · jobflow · langflow · celery · promptflow-core