Skip to content

Releases: opsani/statesman

v1.0.4 "crimson meerkat"

20 Nov 20:25
Compare
Choose a tag to compare

Support python 3.12

v1.0.3 "crimson meerkat"

14 Nov 21:37
Compare
Choose a tag to compare

Supports python 3.11

v1.0.2.post1 "crimson meerkat"

06 Dec 16:13
Compare
Choose a tag to compare

Relax python version requirements to allow installation on versions as low as 3.7

v1.0.2 "crimson meerkat"

23 Nov 16:37
Compare
Choose a tag to compare

Changed

  • Default python version set to 3.9.9

Fixed

  • Bug where pydantic model Event.return_type default value (bool) was overriding initialization argument

v1.0.1 "crimson meerkat"

28 Nov 02:18
Compare
Choose a tag to compare

Hear me and rejoice!

This is the initial stable release of statesman, dubbed "crimson meerkat".

Statesman is a modern, asyncio focused library for implementing Finite State Machines in Python 3.6+. It has been designed to deliver an elegant, expressive API for modeling state machines and interacting with them from application code.

Version 1.0 includes the following:

  • A lightweight, yet fully-featured implementation of the usual suspects you expect to see in a Finite State Machine library (states, events, transitions, actions).
  • A declarative, simple API utilizing type hints, decorators, and enums.
  • Provides a rich set of actions and callbacks for states and events. States support entry and exit actions, events have guard, before, on, and after actions. State machine-wide callbacks are provided via overridable methods.
  • Designed and built async native. Callbacks are dispatched asynchronously,
    making it easy to integrate with long-running, event-driven processes.
  • Guard actions can cancel transition before any state changes are applied.
  • Data can be modeled directly on the state machine subclass compliments of
    Pydantic.
  • Events support the use of arbitrary associated parameter data that is made available to all actions. Parameters are matched against the signature of the receiving callable, enabling compartmentalization of concerns.
  • Solid test coverage and documentation.

v1.0.0 "crimson meerkat"

28 Nov 02:04
Compare
Choose a tag to compare

Hear me and rejoice!

This is the initial stable release of statesman, dubbed "crimson meerkat".

Statesman is a modern, asyncio focused library for implementing Finite State Machines in Python 3.6+. It has been designed to deliver an elegant, expressive API for modeling state machines and interacting with them from application code.

Version 1.0 includes the following:

  • A lightweight, yet fully-featured implementation of the usual suspects you expect to see in a Finite State Machine library (states, events, transitions, actions).
  • A declarative, simple API utilizing type hints, decorators, and enums.
  • Provides a rich set of actions and callbacks for states and events. States support entry and exit actions, events have guard, before, on, and after actions. State machine-wide callbacks are provided via overridable methods.
  • Designed and built async native. Callbacks are dispatched asynchronously,
    making it easy to integrate with long-running, event-driven processes.
  • Guard actions can cancel transition before any state changes are applied.
  • Data can be modeled directly on the state machine subclass compliments of
    Pydantic.
  • Events support the use of arbitrary associated parameter data that is made available to all actions. Parameters are matched against the signature of the receiving callable, enabling compartmentalization of concerns.
  • Solid test coverage and documentation.