* Bug #610: Decorate models appropriately when `HierarchicalMachine`
is passed to `add_state` (thanks @e0lithic)
* Bug #647: Let `may_<trigger>` check all parallel states in processing
order (thanks @spearsear)
* Bug: `HSM.is_state` works with parallel states now
* Experimental features:
+ Add `model_override` to Machine constructor to determine the mode of
operation. With `model_override=Fale` (default), `transitions` will
not override already defined methods on a model just as it did before.
For workflows relying on typing, `model_override=True` will override
methods already defined on the model and only those (!). This allows
to control which convenience methods shall be assigned to the model
and keeps the statically 'assumed' model in sync with its runtime
counterpart. Since defining each and every method manually is rather
tiresome, `transitions.experimental.utils.generate_base_model`
features a way to convert a machine configuration into a `BaseClass`
with all convenience functions and callbacks.
+ Add `transitions.experimental.utils.{add_transitions, event,
with_model_definitions, transition}` to define trigger methods in a
class model for more convenient type checking. `add_transitions`
can be used as a function decorator and is stackable. `event` returns
a placeholder object for attribute assigment. `add_transitions` and
`event` have the same signature and support transition definition like
machine constructors. The function `transition` can used for better
typing and returns a dictionary that can be passed to the utility
functions but also to a machine constructor. `add_transitions` and
`event` require a machine decorated with `with_model_definitions`.
Decorating a machine `with_model_definitions` implies `model_override=True`.
* Feature: Add `may_trigger` to models to check whether transitions can
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-transitions?expand=0&rev=24