We are psyched to announce the release of: taskflow 0.9.0: Taskflow structured state management library.
For more details, please see the git log history below and: http://launchpad.net/taskflow/+milestone/0.9.0 Please report issues through launchpad: http://bugs.launchpad.net/taskflow/ Changes in taskflow 0.8.1..0.9.0 -------------------------------- c76ee25 2015-04-18 14:44:24 +0000 Validate correct exception subclass in 'raise_with_cause' 18d3cd1 2015-04-17 21:05:21 -0700 Remove link to kazoo eventlet handler 672e1f4 2015-04-16 16:29:49 -0700 Add states generating venv and use pydot2 50eb387 2015-04-16 12:08:30 -0700 Add strict job state transition checking 0a94d68 2015-04-16 18:15:17 +0000 Uncap library requirements for liberty 018dbf6 2015-04-15 16:10:33 -0700 Have reset state handlers go through a shared list 0eee98d 2015-04-15 15:43:08 -0700 Add job states in docs + states in python 661f3b0 2015-04-12 22:57:28 -0700 Expose r/o listener callback + details filter callback 15d73cb 2015-04-11 10:16:13 -0700 Expose listener notification type + docs d8e76fd 2015-04-10 20:25:51 -0700 Ensure listener args are always a tuple/immutable 624001a 2015-04-10 17:11:26 -0700 Include the 'dump_memory_backend' example in the docs 8910cdb 2015-04-09 15:02:06 -0700 Make resolution/retry strategies more clear and better 4ef79bc 2015-04-08 16:21:34 -0700 Rename notifier 'listeners' to 'topics' ee7f07f 2015-04-08 15:28:25 -0700 Mention link to states doc in notify state transitions 0ad2fd9 2015-04-08 15:22:46 -0700 Ensure we don't get stuck in formatting loops c64ca27 2015-04-08 14:04:38 -0700 Add note about thread safety of fake filesystem 647b69e 2015-04-05 09:46:19 -0700 Have the notification/listener docs match other sections ebc0782 2015-04-04 19:46:20 -0700 Put semantics preservation section into note block 2ad837c 2015-04-03 17:37:34 -0700 Note that the traditional mode also avoids this truncation issue 7e8981a 2015-04-03 16:11:04 -0700 Avoid going into causes of non-taskflow exceptions aa8be4b 2015-04-03 16:04:46 -0700 Use the ability to chain exceptions correctly 9cb7181 2015-04-03 17:40:28 +0000 Add a example showing how to share an executor c553d65 2015-04-02 11:54:42 -0700 Shrink the bookshelf description 17b7c21 2015-04-01 17:12:38 -0700 Remove link about implementing job garbage binning 254d3f9 2015-04-01 14:34:30 -0700 Put the examples/misc/considerations under a new section f7d81c7 2015-04-01 13:10:49 -0700 Add a suspension engine section ce7b1d2 2015-03-31 11:43:55 -0700 Allow ls() to list recursively (using breadth-first) 1714cca 2015-03-30 14:55:05 -0700 Turn 'check_who' into a decorator bb0af4f 2015-03-30 13:05:43 -0700 Use 'node' terminology instead of 'item' terminology de68bc2 2015-03-29 22:59:04 -0700 Allow providing a node stringify function to tree pformat f11579b 2015-03-29 22:53:47 -0700 Add in memory filesystem clearing d33b316 2015-03-29 22:48:42 -0700 Just unify having a single requirements.txt file 30c7c0c 2015-03-25 21:59:27 -0700 Add memory backend get() support Diffstat (except docs and test files) ------------------------------------- requirements-py2.txt | 36 ----- requirements-py3.txt | 30 ---- requirements.txt | 36 +++++ taskflow/engines/action_engine/analyzer.py | 6 +- taskflow/engines/action_engine/completer.py | 131 ++++++++++++---- taskflow/engines/action_engine/runtime.py | 33 +++-- taskflow/engines/worker_based/protocol.py | 32 ++-- taskflow/examples/dump_memory_backend.py | 7 +- taskflow/examples/share_engine_thread.py | 81 ++++++++++ taskflow/exceptions.py | 16 +- taskflow/jobs/backends/impl_zookeeper.py | 164 +++++++++++++-------- taskflow/patterns/graph_flow.py | 91 ++++++------ taskflow/persistence/backends/impl_dir.py | 8 +- taskflow/persistence/backends/impl_memory.py | 61 +++++++- taskflow/persistence/backends/impl_sqlalchemy.py | 74 ++++++---- taskflow/persistence/backends/impl_zookeeper.py | 32 ++-- taskflow/states.py | 33 ++++- .../unit/persistence/test_memory_persistence.py | 40 +++++ taskflow/types/notifier.py | 81 ++++++---- taskflow/types/tree.py | 17 ++- test-requirements.txt | 4 +- tools/generate_states.sh | 36 ----- tools/state_graph.py | 18 ++- tools/update_states.sh | 40 +++++ tox.ini | 18 ++- 38 files changed, 982 insertions(+), 408 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8e0c5f3 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,36 @@ +# 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.6,!=0.7,<1.0 + +# Packages needed for using this library. + +# Only needed on python 2.6 +ordereddict + +# Python 2->3 compatibility library. +six>=1.9.0 + +# Enum library made for <= python 3.3 +enum34 + +# Very nice graph library +networkx>=1.8 + +# Used for backend storage engine loading. +stevedore>=1.3.0 # Apache-2.0 + +# Backport for concurrent.futures which exists in 3.2+ +futures>=2.1.6 + +# Used for structured input validation +jsonschema>=2.0.0,<3.0.0 + +# For common utilities +oslo.utils>=1.4.0 # Apache-2.0 +oslo.serialization>=1.4.0 # Apache-2.0 + +# For deprecation of things +debtcollector>=0.3.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 23d9ac3..939b2ff 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6 +6 @@ hacking<0.11,>=0.10.0 -oslotest>=1.5.1,<1.6.0 # Apache-2.0 +oslotest>=1.5.1 # Apache-2.0 @@ -33 +33 @@ sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 -oslosphinx>=2.5.0,<2.6.0 # Apache-2.0 +oslosphinx>=2.5.0 # Apache-2.0 __________________________________________________________________________ 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