- FIX: Properly jsanitize fireworks Task by @gpetretto in materialsproject#544
- fix @job annotation (again) by @FabiPi3 in materialsproject#579
- Add
job_dir
attribute toResponse
class to record where a job ran by @janosh in materialsproject#570 - Add type hint for @job and fix for run_locally by @FabiPi3 in materialsproject#578
- Add dynamic option to append_name by @JaGeo in materialsproject#644
- Fix
JobStore.from_file
docstring by @Andrew-S-Rosen in materialsproject#543 - Added logo by @davidwaroquiers in materialsproject#569
- fix firework command bug in doc by @chiang-yuan in materialsproject#589
- Add JFR to readme. by @utf in materialsproject#595
- Migrate from
pip
touv
for CI dependency install by @janosh in materialsproject#574 - Bump
ruff
and fix errors by @janosh in materialsproject#593
- @FabiPi3 made their first contribution in materialsproject#578
- @chiang-yuan made their first contribution in materialsproject#589
Full Changelog: https://github.com/materialsproject/jobflow/compare/v0.1.17...v0.1.18
- Allow different UID types by @jmmshn in materialsproject#529
- Optional Flag to help Debugging by @jmmshn in materialsproject#527
- Add JOSS paper to README and docs by @Andrew-S-Rosen in materialsproject#522
- Remove debug print statements in tests + bump GH action versions by @janosh in materialsproject#523
Full Changelog: https://github.com/materialsproject/jobflow/compare/v0.1.16...v0.1.17
- Explicit warning stacklevels by @janosh in materialsproject#503
- Fix handling of function from standard library by @gpetretto in materialsproject#516
- Optionally avoid deserialization when resolving references by @gpetretto in materialsproject#512
- Add documentation for how to deal with stores beyond
MemoryStore
by @Andrew-S-Rosen in materialsproject#506 - Fix tutorial bug by @mcgalcode in materialsproject#505
- Fix tutorial link formatting in docs by @ml-evs in materialsproject#504
- Add reference for jobflow-remote by @ml-evs in materialsproject#513
- Build docs on every push by @utf in materialsproject#507
- Update deploy.yml by @utf in materialsproject#508
- Auto-update pre-commit hooks by @github-actions in materialsproject#511
- @ml-evs made their first contribution in materialsproject#504
Full Changelog: https://github.com/materialsproject/jobflow/compare/v0.1.15...v0.1.16
- Fix JobStoreDocument validator by @utf in materialsproject#478
- fix Flow deserialization for hosts by @gpetretto in materialsproject#499
- Formalizing the JobStore document format as a pydantic model by @hrushikesh-s in materialsproject#424
- Simplify code by using
Flow
methods__len__
and__getitem__
by @janosh in materialsproject#467 run_locally()
addroot_dir: str | Path | None
keyword by @janosh in materialsproject#486- Allow SSHTunnel in job stores by @mjwen in materialsproject#477
- JOSS paper by @utf in materialsproject#446
- JOSS Paper: Add missing DOIs by @Andrew-S-Rosen in materialsproject#452
- JOSS Paper: Reduce line-spacing in code blocks by @Andrew-S-Rosen in materialsproject#454
- JOSS Paper update: Add missing year to
refs.bib
by @Andrew-S-Rosen in materialsproject#458 - JOSS Paper: Remove stray tick mark in "[@montydb]`" by @Andrew-S-Rosen in materialsproject#459
- JOSS Paper: Add another missing year to
refs.bib
by @Andrew-S-Rosen in materialsproject#461 - Update refs.bib by @xuanxu in materialsproject#462
- JOSS: Add missing
,
to paper by @Andrew-S-Rosen in materialsproject#479 - JOSS: Add more complete Zenodo reference info by @Andrew-S-Rosen in materialsproject#481
- JOSS: Fix references to include all coauthors and remove "others" by @Andrew-S-Rosen in materialsproject#480
- Add fibonacci example to tutorial by @JaGeo in materialsproject#494
- Remove
__all__
from all modules by @janosh in materialsproject#442 - Bump minimum Python version to 3.9 by @janosh in materialsproject#455
- Replace deprecated
pkg_resources
withimportlib.metadata.version
by @janosh in materialsproject#460 - Match
atomate2
ruff
config by @janosh in materialsproject#464 - Test error messages by @janosh in materialsproject#465
- @hrushikesh-s made their first contribution in materialsproject#424
- @xuanxu made their first contribution in materialsproject#462
Full Changelog: https://github.com/materialsproject/jobflow/compare/v0.1.14...v0.1.15
- Add warning when jobflow.yaml is blank or badly formatted by @mcgalcode in materialsproject#415
- Fix issue with data store by @JaGeo in materialsproject#409
- Make ensure_success apply to replace/detour/addition jobs by @mcgalcode in materialsproject#426
- Add tests for Python 3.11 by @Andrew-S-Rosen in materialsproject#413
- Add support for Pydantic 2 by @Andrew-S-Rosen in materialsproject#440
- Link to @jageo's tutorials and fix a broken link by @Andrew-S-Rosen in materialsproject#412
- Update @arosen93 to @Andrew-S-Rosen by @Andrew-S-Rosen in materialsproject#427
Full Changelog: https://github.com/materialsproject/jobflow/compare/v0.1.13...v0.1.14
Bug Fixes:
- Delete
Flow.__deepcopy__
by @janosh in materialsproject#399
Full Changelog: https://github.com/materialsproject/jobflow/compare/v0.1.12...v0.1.13
New features:
- Add
to_mermaid
function to convert flow to mermaid syntax by @utf in materialsproject#311 - Allow external references by @gpetretto in materialsproject#392
- Add
to_mermaid
for all in graph utils by @JaGeo in materialsproject#351 - Propagate tags from
fw_spec
to metadata by @sivonxay in materialsproject#345 - Allow bson objects as job inputs, e.g. datetime.datetimes by @mcgalcode in materialsproject#375
- Also
allow_bson
in job serialization by @mcgalcode in materialsproject#376 Flow
+Job
magic methods by @janosh in materialsproject#369
Bug fixes:
- Fix ValueError: mutable default for field
add_maker
is not allowed: usedefault_factory
by @janosh in materialsproject#387 - Fixed nested data storage bug by @jmmshn in materialsproject#293
- Test imports need to be in function by @jmmshn in materialsproject#310
- Fix
TypeError
when passing name toflow_to_workflow(
by @janosh in materialsproject#396 - Fix mermaid with one job (in a flow) by @JaGeo in materialsproject#350
- Fixed
JobStore.from_dict_spec
so that the originaldict_spec
is not modified by @davidwaroquiers in materialsproject#331
Enhancements:
- Fix typo in data store docs by @xperrylinn in materialsproject#316
- Fix typo in fireworks docs by @Andrew-S-Rosen in materialsproject#343
- Fix typo in docs by @Andrew-S-Rosen in materialsproject#359
- Fix broken link to FireWorks tutorial by @janosh in materialsproject#319
- Add documentation: Flows, FireWorks, Dynamic Flows, Makers by @Andrew-S-Rosen in materialsproject#338
- Update forum link by @mkhorton in materialsproject#373
- Add copy button to code blocks in docs by @Andrew-S-Rosen in materialsproject#344
- Enable serialisation of bson.
- Move project configuration to
pyproject.toml
. - Add tutorial on generalized makers (@jmmshn, #268)
New features
- Delayed updates to config and metadata for dynamic flows. See docstring of
Job.update_metadata
for more details (@gpetretto, #198) - Additional stores are now generated on the fly as memory stores if they are not specified in jobflow settings (@davidwaroquiers, #183)
Bug fixes:
- Optimised calls to update_kwargs (@jmmshn, #177)
- "job_uuid" and "job_index" are now indexed fields in additional stores (@jmmshn, #165)
- Fix additional store storing
None
(@mjwen, #160)
Enhancements:
- Docs refactored.
- Added code of conduct.
New features:
- New
update_metadata
function for updating the metadata of jobs and flows. - New
update_config
function for updating the config (included manager_config) of jobs and flows. - New
DIRECTORY_FORMAT
option in JobflowSettings for controlling the date time format used to create new directories. - New functions for adding and removing jobs from a flow. The
Job.jobs
list is no longer mutable (@gpetretto). - New
Job.hosts
attribute that stores a list of all host Flows. This captures the nested nature of flows with the outer flow always first in the list (@gpetretto).
Bug fixes:
- OutputReferences are no longer iterable.
- Docstring clarifications (@utf, @mjwen).
New features:
- Validate subschemas of nested models (@gpetretto, #118).
downstream_manager_config
for controlling config of dynamic jobs (@Andrew-S-Rosen, #121).- S3Store yaml parsing (@jmmshn, #124).
Bug fixes:
- Fix home path for loading settings (@gpetretto, #119).
- Docs updates (@Andrew-S-Rosen, #111).
Bug fixes:
- Docs fixes (@arosen).
- Compatibility with maggma>=0.38.1 (#68)
- Fixed missing PyYAML requirement (#67)
Bug fixes:
- Remove
JobConfig.pass_metadata
option and instead pass metadata automatically. - Fix serialization compatibility with the FireWorks workflow manager.
New features:
- Add
append_name
option toJob
andFlow
that allow easy modification of all job names in a flow. - Add
JobConfig.pass_metadata
(defaults to True) that can be used to pass job metadata on to dynamically added jobs.
Bug fixes:
- Fireworks manager now adds metadata to FireWork spec. Fixes #21.
Jobflow now uses pydantic to handle settings. Currently, there is only a single setting
JOB_STORE
which controls the default store used by run_locally
and the fireworks
manager. You can update the default store by writing a ~/.jobflow.yaml
settings
file. See the API documentation for more details.
New features:
ensure_success
option added torun_locally
.- Better graph visualisation.
- Updating the name of a job from a maker now propagates the name change to the maker.
Job.update_maker_kwargs
withnested=True
now applies the updates to makers in the kwargs or args of the job.
Docs updates.
Major changes:
Schema
class removed. Any pydantic model can now be an output schema.
Enhancements:
JobStore.get_output
now resolves references in the output of other jobs.JobStore.get_output
:which
now supports specifying a specific job index.- Better support for circular and missing references in
JobStore.get_output
andOutputReference.resolve
. - Update dependencies to use latest jsanitize features.
Bug fixes:
- Fixed issue with references in flow of flows (@davidwaroquiers, #18).
- Makes now allows non-default parameters (fixes: #13).
- Fix reference cache with multiple indexes.
Testing automated releases.
Initial release containing:
Job
,Flow
,Maker
, andJobStore
API.- Tools for running Flows locally.
- Fireworks integration.