jobflow
jobflow is a library for writing computational workflows
Decision gist · record as of 2026-08-14
Yes. Jobflow is actively maintained, has no known vulnerabilities, supports current Python versions (3.10–3.13), and offers a clean API for workflow composition with strong support for both local and distributed execution. It is well-suited for scientific computing and high-throughput applications where job dependencies and output management are central concerns.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction install with seven runtime dependencies.
- Actively maintained as of 2026-02-05 with recent commits (2026-08-10), supporting Python 3.10 through 3.13.
License · maintenance · safety
modified BSD (permissive) — Released under a modified BSD license, which is permissive and allows commercial and private use with minimal restrictions.
last release 2026-02-05 (190 days) · last repo commit 2026-08-10 · 125 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 575,864 downloads/mo, #5,934 on PyPI
Alternatives
Verify before relying
pip install jobflow
from jobflow import job, Flow
@job
def add(a, b):
return a + b
add_first = add(1, 5)
add_second = add(add_first.output, 5)
flow = Flow([add_first, add_second])- Whether jobflow-remote or FireWorks integration requires additional configuration beyond the base install.
- Performance characteristics and scalability limits for large workflow graphs.
- Whether MongoDB, S3, or GridFS backends require separate setup or credentials.
What it is and what it does
Jobflow is a workflow orchestration library that lets you build complex computational pipelines by decorating Python functions as jobs and composing them into flows. Jobs are atomic units of work whose inputs and outputs can be serialized to JSON; flows automatically determine job execution order based on data dependencies. The library supports dynamic workflows that can modify themselves during execution, nested flows for natural composition of complex logic, and output storage across multiple database backends through its Maggma integration.
You define workflows using a clean Python API where job outputs are referenced as futures before execution, allowing automatic dependency resolution. Jobflow handles both local execution and distributed execution through jobflow-remote or FireWorks, making it suitable for both development and production high-throughput computing environments. Its main dependencies are PyYAML, maggma, monty, networkx, pydantic, pydantic-settings, and pydash.
Use it for
- Build multi-step scientific simulations where later computations depend on outputs from earlier ones.
- Orchestrate high-throughput materials or chemistry calculations across multiple machines via a queue system.
- Define self-modifying workflows that spawn new jobs based on intermediate results.
- Store and retrieve job outputs from MongoDB, S3, or other backends managed by Maggma.
- Develop and test workflow logic locally before deploying to a distributed computing cluster.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Jobflow is actively maintained, has no known vulnerabilities, supports current Python versions (3.10–3.13), and offers a clean API for workflow composition with strong support for both local and distributed execution. It is well-suited for scientific computing and high-throughput applications where job dependencies and output management are central concerns.
Install
jobflow on PyPI
Before you install
Low friction install with seven runtime dependencies. Actively maintained as of 2026-02-05 with recent commits (2026-08-10), supporting Python 3.10 through 3.13. No known vulnerabilities.
Requires Python 3.10 or later.
License in practice
Released under a modified BSD license, which is permissive and allows commercial and private use with minimal restrictions.
Quickstart
pip install jobflow
from jobflow import job, Flow
@job
def add(a, b):
return a + b
add_first = add(1, 5)
add_second = add(add_first.output, 5)
flow = Flow([add_first, add_second])
Verify before relying
- Whether jobflow-remote or FireWorks integration requires additional configuration beyond the base install.
- Performance characteristics and scalability limits for large workflow graphs.
- Whether MongoDB, S3, or GridFS backends require separate setup or credentials.
Package facts
| License | modified BSD permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagesPyYAMLmaggmamontynetworkxpydantic-settingspydanticpydash |
| Maintenance | Actively maintained 190 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 575,864 / month, #5,934 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/StableIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchIntended Audience :: System AdministratorsOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Database :: Front-EndsTopic :: Other/Nonlisted TopicTopic :: Scientific/Engineering |
Evidence: jobflow-0.3.1-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 › “computational job scheduling”
- jobflowJobflow is a Python library for defining and executing computational…
- total-perspective-vortexTotal Perspective Vortex (TPV) provides dynamic job routing rules for…
- custodianCustodian is a just-in-time job management framework that wraps…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also atomate2 · FireWorks · custodian · adagio · argo-workflows · taskflow · openjd-sessions · ppft · django-viewflow · apache-airflow-core