We are excited to announce the release of: automaton 0.2.0: Friendly state machines for python.
This release is part of the liberty release series. With source available at: http://git.openstack.org/cgit/openstack/automaton For more details, please see the git log history below and: http://launchpad.net/automaton/+milestone/0.2.0 Please report issues through launchpad: http://bugs.launchpad.net/automaton Changes in automaton 0.1..0.2.0 ------------------------------- bcb61f0 Split the state machine runners off into own file 33c7e82 Use debtcollector removals function instead of warnings.warn d71b6cf Revamp repo to match openstack repos 468a992 Allow the hierarchical machine to provide back the nested machines 230ade3 Retain & deprecate default_start_state via constructor 931de8b Amend the unittest due to more on_exit being triggered dd34f04 Have the start state 'on_exit' be called when exit occurs 01a92f9 Use a property setter instead of a method b0abceb Require using set_default_start_state to set the default 93f1f4e Add more checks on setting a alternative start state default daacc95 Rename start_state to default_start_state ba0214a Use type(self) instead of self.__class__ 00b59ec Correctly copy derived classes 6f1be9d Allow initialize to take an alternative start_state eb169da Update message when processing event and not initialized 8c897cf Add pre and post event processing methods 4de3914 Share the same not found template between machines 3f748c2 Avoid having a _generate_runner method when inheritance is ok a81d49a Allow frozen to be set/unset 01f2201 Add testrepository to testing requirements 46f3c4b Fixup the classifiers 6f51cb8 Fix the tox to install the right requirements 7acc45a Just use _generate_runner to generate the different runner types ceaf7a1 Use quoting in the machine code documentation 1c5ae77 Adjust pformat() + add examples b87aefc Remove version caps a84405e Split the requirements file into py2/py3 variations cf14590 Move process event to be a static method 114e68f Add a HierarchicalFiniteMachine + Runner b08d6ab Use a helper classmethod to create machines 878a6ef Rename _Runner -> _FiniteRunner 4b9bb19 Move to top level machines module, seems cleaner this way 0c122a9 Fix the pformat() example fe402eb Move the fsm -> machines/finite.py and split off the running methods 61fdedc Allow copies to be unfrozen (if the parent is frozen) 22edd49 Make frozen a non-settable attribute and copy it correctly a4197ee Allow machines to be shallow or deep copied f0c4fb2 Three is the number for alpha 3c964ef Change beta to alpha (for now) Diffstat (except docs and test files) ------------------------------------- .gitreview | 4 + .testr.conf | 8 + .travis.yml | 14 -- CONTRIBUTING.rst | 17 ++ HACKING.rst | 5 + MANIFEST.in | 6 + README.rst | 9 +- automaton/fsm.py | 336 ------------------------------------- automaton/machines.py | 394 ++++++++++++++++++++++++++++++++++++++++++++ automaton/runners.py | 169 +++++++++++++++++++ babel.cfg | 2 + openstack-common.conf | 6 + requirements.txt | 13 +- setup.cfg | 32 ++-- setup.py | 2 +- test-requirements.txt | 16 +- tox.ini | 20 ++- 25 files changed, 1171 insertions(+), 590 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index ba45ab7..87a6d7c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,6 @@ -# Build sanity -pbr>=0.6,!=0.7,<1.0 +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. + +# See: https://bugs.launchpad.net/pbr/+bug/1384919 for why this is here... +pbr>=0.11,<2.0 @@ -5 +9,4 @@ pbr>=0.6,!=0.7,<1.0 -six>=1.7.0 +six>=1.9.0 + +# For deprecation of things +debtcollector>=0.3.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 6107f0d..031650a 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,2 +1,14 @@ -hacking>=0.9.2,<0.10 -nose +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. + +hacking<0.11,>=0.10.0 + +coverage>=3.6 +discover +python-subunit>=0.0.18 +sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 +oslosphinx>=2.5.0 # Apache-2.0 +oslotest>=1.5.1 # Apache-2.0 +testrepository>=0.0.18 +testscenarios>=0.4 __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev