15
0

- Update to 0.9.2

* 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
This commit is contained in:
2025-04-03 15:55:47 +00:00
committed by Git OBS Bridge
parent 26202cfd11
commit b26fecf17c
5 changed files with 77 additions and 45 deletions

View File

@@ -1,3 +1,42 @@
-------------------------------------------------------------------
Thu Apr 3 13:47:51 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 0.9.2
* 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
be conducted by trigger name.
* Feature: Add Mermaid diagram backend that returns a mermaid diagram as
a string. `use_pygraphviz` is deprecated in favour for `graph_engine`
which may be `pygraphviz` (default), `graphviz` or `mermaid`.
- Refresh remove-py2-crumbs.patch
-------------------------------------------------------------------
Thu May 30 08:25:50 UTC 2024 - Markéta Machová <mmachova@suse.com>