File python-transitions.changes of Package python-transitions

-------------------------------------------------------------------
Wed Jun  4 06:08:02 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>

- Switch to pyproject macros.

-------------------------------------------------------------------
Mon Apr 14 12:22:35 UTC 2025 - Georg Pfuetzenreuter <georg.pfuetzenreuter@suse.com>

- Enable sle15_python_module_pythons (align with pygraphviz)

-------------------------------------------------------------------
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>

- update to 0.9.1
  * several bugfixes
  * typing improvements
  * introduces `on_final` callbacks on machines (as well as 
    `NestedState`) and `final` flags for states
  * see the full list in Changelog.md
- Add remove-py2-crumbs.patch to get rid of most py2 remnants
- Add iteritems.patch to clean the rest of six

-------------------------------------------------------------------
Fri Jan 12 08:26:55 UTC 2024 - Dirk Müller <dmueller@suse.com>

- update to 0.9.0:
  * removed legacy implementation of `HierarchicalMachine` from
    the package
  * Bug #551: Fix active state styling in `GraphMachine` (thanks
    @betaboon)
  * Bug #554: Fix issues related to scopes and queueing in
    `HierachicalMachine` (thanks @jankrejci)
  * Bug #568: Reflexive transitions (dest: '=') had not been
    resolved correctly when source was a wildcard (thanks @jnu)
  * Bug #568: HSM did not detect reflexive transitions if src was
    a parent state (thanks @lostcontrol)
  * Bug #569: Fix implicit fallback to `graphviz` when
    `pygraphviz` was not installed (thanks @FridjofAmundsen)
  * Bug #580: Fix `on_timeout` callback resolution when timeout
    had been initialized with `timeout=0` (thanks @Rysbai)
  * Bug #582: Last label in `GraphSupport` was not correctly
    aligned when `show_attributes=True` (thanks @spagh-eddie)
  * Feature: Add pyi stub files for better type hinting. Since
    many functions and constructors allow rather arbitrary
    arguments time will tell whether typing should be strict (and
    cause more mypy issues) or more relaxed (and thus less
    precise).
  * Feature: Reviewed and improved method documentation
  * Feature #549: Add `may` transition check to transitions
    (thanks @artofhuman)
  * Feature #552: Refactored error handling to be able to handle
    `MachineError` in `on_exception` callbacks (thanks @kpihus)
  * Feature: Add `mypy` to test workflow
  * PR #461: Add `Retry` state to supported state stereotypes
    (thanks @rgov)
  * Internal: `Machine._identify_callback` has been converted to
    instance method from class method
  * Internal: `LockedMachine._get_qualified_state_name` has been
    converted to instance method from static method
  * Internal: Removed `_super` workaround related to dill (see
    https://github.com/pytransitions/transitions/issues/236)
  * ## 0.8.11 (February 2022)
  * Release 0.8.11 is the last 0.8 release and contains fixes for
    Python 3.10 compatibility issues
  * Bug #559: Rewrote an async test and replaced `setDaemon` with
    `daemon` property assignment for thread handling (thanks
    @debalance)
- drop transitions-fixpy310.patch (upstream)

-------------------------------------------------------------------
Tue Jan 11 21:26:06 UTC 2022 - Ben Greiner <code@bnavigator.de>

- Add support for Python 3.10
  * transitions-fixpy310.patch -- gh#pytransitions/transitions#559
- Make sure the graphviz tests don't error out without an installed
  font
- Clean obsolete python36 conditionals

-------------------------------------------------------------------
Sun Oct 24 17:34:22 UTC 2021 - Ben Greiner <code@bnavigator.de>

- Update to version 0.8.10
  * Feature #545: The literal 'self' (default model parameter of
    Machine) has been replaced by the class variable
    Machine.self_literal = 'self'. Machine now performs an identity
    check (instead of a value check) with mod is self.self_literal
    to determine whether it should act as a model. While 'self'
    should still work when passed to the model parameter, we
    encourage using Machine.self_literal from now on. This was done
    to enable easier override of Machine.__eq__ in subclasses
    (thanks @VKSolovev).
  * Bug #547: Introduce HierarchicalMachine.prefix_path to resolve
    global state names since the HSM stack is not reliable when
    queued=True (thanks @jankrejci).
  * Bug #548: HSM source states were exited even though they are
    parents of the destination state (thanks @wes-public-apps).
- Don't test optional extra graphviz on python36: pygraphviz
  dropped Python 3.6 support

-------------------------------------------------------------------
Thu Sep  2 15:58:41 UTC 2021 - Martin Hauke <mardnh@gmx.de>

- Update to version 0.8.9
  Bugfix
  * NestedEvent now wraps the machine's scope into partials passed
    to HierarchicalMachine._process. This prevents queued
    transitions from losing their scope.
  Feature
  * (A)Graph.draw function (object returned by
    GraphMachine.get_graph()) can be passed a file/stream object
    as first parameter or None. The later will result in draw
    returning a binary string. (thanks @Blindfreddy).
  * Use id(model) instead of model for machine-bound caches in
    LockedMachine, AsyncMachine and GraphMachine. This might
    influence pickling.

-------------------------------------------------------------------
Wed Apr  7 16:32:09 UTC 2021 - Martin Hauke <mardnh@gmx.de>

- Update to version 0.8.8
  Bugfix
  * AsyncMachine does not remove models when remove_models is
    called.
  Feature
  * Introduce try/except for finalize callbacks in Machine and
    HierachicalMachine. Thus, errors occurring in finalize
    callbacks will be suppressed and only the original error will
    be raised.
  * Show references in graphs and markup. Introduce
    MarkupMachine.format_references to tweak reference formatting.
  * Introduce Machine.on_exception to handle raised exceptions in
    callbacks.
  * Machine.get_triggers now supports State and Enum as arguments.
  * NestedState and HierachicalMachine.add_states now accept
    (lists of) states and enums as initial parameter.
- Update to version 0.8.7
  * State configuration dictionaries passed to HierarchicalMachine
    can also use states as a keyword to define substates. If
    children and states are present, only children will be
    considered.
  * HierarchicalMachine with custom separator now adds
    is_state partials for nested states (e.g. is_C.s3.a()) to
    models.
  * Use model_attribute consistently in AsyncMachine.
  * HierarchicalMachine now checks whether state_cls, event_cls
    and transition_cls have been subclassed from nested base
    classes (e.g. NestedState) to prevent hard to debug
    inheritance errors
- Update to version 0.8.6
  * HierarchicalMachine.add_states will raise a ValueError when
    an Enum name contains the currently used NestedState.separator.
  Bugfix
  * Reset NestedState._scope when enter/exit callbacks raise an
    exception.
  * Let HierarchicalMachine._get_trigger which is bound to
    model.trigger raise a MachineError for invalid events and
    AttributeError for unknown events.
  Features
  * Introduced HierarchicalMachine.has_trigger to determine
    whether an event is valid for an HSM.
  * AsyncMachine features an event queue dictionary for individual
    models when queued='model'.
  * Machine.remove_model will now also remove model events from
    the event queue when queued=True.
  * Machine.get_transitions and its HSM counterpart now accept
    Enum and State for source and dest.
- Update to version 0.8.5
  * AsyncMachine.switch_model_context is expected to be async now
    for easier integration of async code during model switch.
  * Bugfix #478: Initializing a machine with GraphSupport threw an
    exception when initial was set to a nested or parallel state.
- Update to version 0.8.4
  * Bugfix #477: Model callbacks were not added to a
    LockedHierarchicalMachine when the machine itself served as
    a model.
  * Bugfix #475: Clear collection of tasks to prevent memory leak
    when initializing many models.
  * Feature #474: Added static AsyncMachine.protected_tasks list
    which can be used to prevent transitions to cancel certain
    tasks.
  * Feature: Constructor of HierarchicalMachine now accepts
    substates ('A_1_c') and parallel states (['A', 'B']) as
    initial parameter.
- Update to version 0.8.3
  * Minor release and contains several bugfixes mostly related
    to HierarchicalStateMachine.

-------------------------------------------------------------------
Mon Aug 24 12:06:21 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>

- Use recent pytest

-------------------------------------------------------------------
Sun Jun 28 09:27:04 UTC 2020 - Martin Hauke <mardnh@gmx.de>

- Update to version 0.8.2
  * Improved testing without any optional graphviz package
  * _check_event_result failed when model was in parallel state
  * Only allow explicit dest=None in Machine.add_transition (not
    just falsy) for internal transitions
  * Fix state creation of nested enums
  * HierarchicalGraphMachine did not find/apply styling for
    parallel states
  * Bugfix: Model.trigger now considers the machine's and current
    state's ignore_invalid_triggers attribute and can be called
    with non-existing events
  * Child states may not have been exited when the executed
    transition had been defined on a parent
  * Introduced transitions.extensions.asyncio.AsyncTimeout as a
    state decorator to avoid threads used
    in transitions.extensions.state.Timeout
  * Use sets instead of lists to cache already covered transitions
    in nested state machines
  * Improve handling of unresolved attributes for easier inheritance
  * Refactored AsyncMachine to enable trio/anyio override

-------------------------------------------------------------------
Tue Jun  9 07:44:24 UTC 2020 - Dirk Mueller <dmueller@suse.com>

- remove pep8 unit tests, those are not useful to execute and
  fail

-------------------------------------------------------------------
Fri Apr  3 06:23:04 UTC 2020 - Martin Hauke <mardnh@gmx.de>

- Update to versino 0.8.1
  * Feature: Introduced experimental HierarchicalAsync(Graph)Machine
  * Feature #405: Support for nested Enums in HierarchicalMachine
  * Bugfix #400: Fix style initialization when initial state is an Enum
  * Bugfix #403: AsyncMachine.dispatch now returns a boolean asexpected
  * Bugfix #413: Improve diagram output for HierarchicalMachine
  * Increased coverage
  * Introduced xdist for parallel testing with pytest

-------------------------------------------------------------------
Wed Mar 25 14:51:54 UTC 2020 - pgajdos@suse.com

- version update to 0.8.0
  - Feature: `HierarchicalMachine` has been rewritten to support parallel states. Please have a look at the ReadMe.md to check what has changed.
    + The previous version can be found in `transitions.extensions.nesting_legacy` for now
  - Feature: Introduced `AsyncMachine` (see discussion #259); note that async HSMs are not yet supported
  - Feature #390: String callbacks can now point to properties and attributes (thanks @jsenecal)
  - Bugfix: Auto transitions are added multiple times when add_states is called more than once
  - Bugfix: Convert state._name from `Enum` into strings in `MarkupMachine` when necessary
  - Bugfix #392: Allow `Machine.add_ordered_transitions` to be called without the initial state (thanks @mkaranki and @facundofc)
  - `GraphMachine` now attempts to fall back to `graphviz` when importing `pygraphviz` fails
  - Not implemented/tested so far (contributions are welcome!):
    + Proper Graphviz support of parallel states
    + AsyncHierachicalMachine

-------------------------------------------------------------------
Fri Jan 10 19:57:29 UTC 2020 - Martin Hauke <mardnh@gmx.de>

- Update to version 0.7.2
  * Fix transitions for enums with str behavior
  * Don't mask away KeyError when executing a transition
  * Add support for dynamic model state attribute

-------------------------------------------------------------------
Mon Sep 30 18:47:43 UTC 2019 - Martin Hauke <mardnh@gmx.de>

- Initial package, version 0.7.1
openSUSE Build Service is sponsored by