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 @arosen93 in materialsproject#343
- Fix typo in docs by @arosen93 in materialsproject#359
- Fix broken link to FireWorks tutorial by @janosh in materialsproject#319
- Add documentation: Flows, FireWorks, Dynamic Flows, Makers by @arosen93 in materialsproject#338
- Update forum link by @mkhorton in materialsproject#373
- Add copy button to code blocks in docs by @arosen93 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 (@arosen93, #121).- S3Store yaml parsing (@jmmshn, #124).
Bug fixes:
- Fix home path for loading settings (@gpetretto, #119).
- Docs updates (@arosen93, #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.