Registry / workflow / fireworks

fireworks

JSON →
library2.1.3pypypi✓ verified 85d ago

FireWorks is a workflow software for managing high-throughput calculations, particularly in materials science. Current version: 2.1.3. It uses MongoDB as a backend. Release cadence is irregular with occasional minor updates.

pip install fireworks
INSTALL
IMPORT
SIG · FIREWORKS
F
fireworks
workflowpythonv2.1.3
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

LaunchPad
from fireworks import LaunchPad
from fireworks.core import LaunchPad
In versions <=1.9, LaunchPad was under fireworks.core. In v2.0+, it's directly under fireworks.
Workflow
from fireworks import Workflow
from fireworks.core.firework import Workflow
Workflow is now directly importable from fireworks (v2+).
Firework
from fireworks import Firework
from fireworks.core.firework import Firework
Firework is now directly importable from fireworks (v2+).
PyTask
from fireworks import PyTask
from fireworks.core.firetasks import PyTask
PyTask moved to top-level in v2+.

Minimal example: define tasks, fireworks, and a workflow, then add to the launchpad.

from fireworks import LaunchPad, Workflow, Firework, PyTask # Initialize launchpad (requires MongoDB running) launchpad = LaunchPad(name='test') # Define tasks task1 = PyTask(func='print', args=["Hello from FireWorks"]) task2 = PyTask(func='print', args=["Task 2"]) # Create fireworks fw1 = Firework(tasks=[task1], name='hello_task') fw2 = Firework(tasks=[task2], name='task2') # Create workflow wf = Workflow([fw1, fw2], name='my_workflow') # Add workflow to launchpad launchpad.add_wf(wf) print('Workflow added successfully. Run with: lpad run')
lpad --version
Debug
Known issues
breakingIn v2.0+, the import paths changed dramatically. Submodules like fireworks.core, fireworks.firetasks, and fireworks.utilities moved or merged. Check all imports if upgrading from v1.x.
fix
Update imports: `from fireworks import LaunchPad, Workflow, Firework, PyTask` instead of old paths.
affects: >=1.0, <2.0
breakingThe default MongoDB connection changed. In v2.0+, the LaunchPad defaults to host='localhost' and port=27017, but the database name is no longer 'fireworks' by default; it uses the name parameter. Previously, it was 'fireworks' implicitly.
fix
Explicitly pass `name='fireworks'` to LaunchPad if you relied on the old default.
affects: >=2.0
gotchaFireWorks requires MongoDB running locally (or accessible). Many new users forget to start MongoDB, leading to connection errors.
fix
Start MongoDB service before using FireWorks: `mongod --dbpath /data/db &` or via system service.
affects: all
deprecatedThe `FWAction` and `FWData` classes are deprecated in v2.1+. Use `FileWriteTask` and `ScriptTask` instead.
fix
Replace `FWAction` with `ScriptTask` or appropriate built-in tasks.
affects: >=2.1.0
gotchaWhen using `PyTask`, the `func` argument must be a string that can be imported from the module where the function lives. If the function is not importable, tasks will fail at runtime.
fix
Ensure the function is defined in a module accessible via Python's import system. Use dotted strings like `'mymodule.myfunc'`.
affects: all
Errors
Common errors & fixes
pymongo.errors.ServerSelectionTimeoutError: No servers found yet
MongoDB is not running or not accessible at the configured host/port.
fix
Start MongoDB: `mongod --dbpath /data/db &` (or use systemd). Check host/port defaults: LaunchPad uses localhost:27017.
ImportError: cannot import name 'LaunchPad' from 'fireworks'
Using old import path. In older versions, LaunchPad was in fireworks.core.
fix
Use `from fireworks import LaunchPad` (v2+) or `from fireworks.core import LaunchPad` (v1.x). Check your version.
fireworks.core.firework.FWData object has no attribute 'to_dict'
Using deprecated `FWData` class (removed in v2.1+).
fix
Replace `FWData` with `FileWriteTask` or `ScriptTask`. See migration guide.
TypeError: __init__() got an unexpected keyword argument 'host'
Passing host/port directly to LaunchPad; in older versions, the constructor signature was different.
Upgrade
Version history
2.1.3latest on PyPI · released Apr 3, 2026
Audit
Dependencies
pymongorequiredRequired for MongoDB backend (FireWorks stores workflows in MongoDB).
montyrequiredUsed for serialization and utility functions.
pydashoptionalUtility library for data manipulation.
Agent activity
30 hits · last 30 days
node
26
OpenAI (training)
1
Resources
fireworks — pip install fireworks · libregistry