(16 Sep 2020, @ankostis): RECOMPUTE, pre-callback, drop `op_xxx`, ops-eq-op.name, drop NULL_OP
Should have been a "major" release, but x2 breaks are that important.
-
FEAT(pipeline+execution): add :term:
pre_callbackto be invoked prior to computing
each operation (seepre_callbackarg in :meth:.Pipeline.compute()). -
FEAT(pipeline+plan): can :term:
recomputemodified solutions, partial or complete --
Therecompute_from=<dep / list-of-deps>argument has been added to
:meth:.Pipeline.compute(), :meth:.Pipeline.compile()& :meth:.Network.compile()
methods. -
REFACT/break(OP): replace badly-specified public attributes
op_needs&op_provides
with private :attr:.FnOp._user_needs& :attr:.FnOp._user_provides-- now
it must be easier to inherit :class:.Operationanew (but) UNTESTED :-().- refact: don't crash of operations lacking
rescheduled,marshalled
etc attributes.
- refact: don't crash of operations lacking
-
ENH(OP):
Operation.nameandnamestring compare equal -- that is,
dictionaries of operations, such as :attr:.Solution.executed, can be indexed
with their names (note, they didn't equal by accident).- REFACT: move
FnOp.__hash__()/__eq__()up, to Operation class.
- REFACT: move
-
FEAT/break(pipeline): replace
NULL_OPoperation a newcompose(excludes=..)argument,
in order to delete existing operations when merging pipelines. -
FIX(PLAN): compile cache was ignoring(!) the state of the :term:
evictionflag. -
FIX(execution): solution
copy()was crashing (for 9 months till now). -
ENH(plot): make all nodes "filled" to facilitate hovering for tooltips.
-
fix(plot): "overwrite" tooltip was written "overridden".
-
fix(plan): bug when printing a list of "unsolvable graph" error-message.
-
FIX(TEST):
exemethodfixture'sexe_methodwas always empty when interrogated
for deciding "xfail"s. -
enh(build): pin
blackversion, changes in format affect commits. -
doc(parallel): Deprecate(!), but just in docs, in favor of always producing
a list of "parallelizable batches", to fed to 3rdp parallelizing executors. -
doc(execution+fnop): Mark mark :data:
.execution.task_contextas unstable API,
in favor of supporting a specially-named function argument to receive the same instances. -
doc(site+doctests): use greek letters in algebraic formulas AND dependencies.