taskflow 6.1.0__tar.gz → 6.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. {taskflow-6.1.0 → taskflow-6.1.1}/.pre-commit-config.yaml +2 -2
  2. {taskflow-6.1.0 → taskflow-6.1.1}/ChangeLog +6 -0
  3. {taskflow-6.1.0 → taskflow-6.1.1}/PKG-INFO +1 -1
  4. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/traversal.py +10 -0
  5. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/99_bottles.py +0 -1
  6. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_engines.py +14 -0
  7. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow.egg-info/PKG-INFO +1 -1
  8. taskflow-6.1.1/taskflow.egg-info/pbr.json +1 -0
  9. taskflow-6.1.0/taskflow.egg-info/pbr.json +0 -1
  10. {taskflow-6.1.0 → taskflow-6.1.1}/.coveragerc +0 -0
  11. {taskflow-6.1.0 → taskflow-6.1.1}/.mailmap +0 -0
  12. {taskflow-6.1.0 → taskflow-6.1.1}/.pylintrc +0 -0
  13. {taskflow-6.1.0 → taskflow-6.1.1}/.stestr.conf +0 -0
  14. {taskflow-6.1.0 → taskflow-6.1.1}/.zuul.yaml +0 -0
  15. {taskflow-6.1.0 → taskflow-6.1.1}/AUTHORS +0 -0
  16. {taskflow-6.1.0 → taskflow-6.1.1}/CONTRIBUTING.rst +0 -0
  17. {taskflow-6.1.0 → taskflow-6.1.1}/LICENSE +0 -0
  18. {taskflow-6.1.0 → taskflow-6.1.1}/README.rst +0 -0
  19. {taskflow-6.1.0 → taskflow-6.1.1}/bindep.txt +0 -0
  20. {taskflow-6.1.0 → taskflow-6.1.1}/doc/diagrams/area_of_influence.graffle.tgz +0 -0
  21. {taskflow-6.1.0 → taskflow-6.1.1}/doc/diagrams/core.graffle.tgz +0 -0
  22. {taskflow-6.1.0 → taskflow-6.1.1}/doc/diagrams/jobboard.graffle.tgz +0 -0
  23. {taskflow-6.1.0 → taskflow-6.1.1}/doc/diagrams/tasks.graffle.tgz +0 -0
  24. {taskflow-6.1.0 → taskflow-6.1.1}/doc/diagrams/worker-engine.graffle.tgz +0 -0
  25. {taskflow-6.1.0 → taskflow-6.1.1}/doc/requirements.txt +0 -0
  26. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/conf.py +0 -0
  27. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/index.rst +0 -0
  28. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/templates/layout.html +0 -0
  29. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/arguments_and_results.rst +0 -0
  30. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/atoms.rst +0 -0
  31. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/conductors.rst +0 -0
  32. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/engines.rst +0 -0
  33. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/examples.rst +0 -0
  34. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/exceptions.rst +0 -0
  35. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/history.rst +0 -0
  36. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/area_of_influence.svg +0 -0
  37. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/conductor.png +0 -0
  38. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/conductor_cycle.png +0 -0
  39. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/distributed_flow_rpc.png +0 -0
  40. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/engine_states.svg +0 -0
  41. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/flow_states.svg +0 -0
  42. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/job_states.svg +0 -0
  43. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/jobboard.png +0 -0
  44. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/mandelbrot.png +0 -0
  45. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/retry_states.svg +0 -0
  46. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/task_states.svg +0 -0
  47. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/tasks.png +0 -0
  48. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/wbe_request_states.svg +0 -0
  49. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/img/worker-engine.svg +0 -0
  50. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/index.rst +0 -0
  51. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/inputs_and_outputs.rst +0 -0
  52. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/jobs.rst +0 -0
  53. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/notifications.rst +0 -0
  54. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/patterns.rst +0 -0
  55. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/persistence.rst +0 -0
  56. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/resumption.rst +0 -0
  57. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/shelf.rst +0 -0
  58. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/states.rst +0 -0
  59. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/types.rst +0 -0
  60. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/utils.rst +0 -0
  61. {taskflow-6.1.0 → taskflow-6.1.1}/doc/source/user/workers.rst +0 -0
  62. {taskflow-6.1.0 → taskflow-6.1.1}/playbooks/tests/functional/Debian.yaml +0 -0
  63. {taskflow-6.1.0 → taskflow-6.1.1}/playbooks/tests/functional/RedHat.yaml +0 -0
  64. {taskflow-6.1.0 → taskflow-6.1.1}/playbooks/tests/functional/pre.yml +0 -0
  65. {taskflow-6.1.0 → taskflow-6.1.1}/pyproject.toml +0 -0
  66. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/.placeholder +0 -0
  67. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/add-sentinel-redis-support-9fd16e2a5dd5c0c9.yaml +0 -0
  68. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/bug-2056656-871b67ddbc8cfc92.yaml +0 -0
  69. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/deprecate-eventlet-df4a34a7d56acc47.yaml +0 -0
  70. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/disable-process_executor-python-312-d1074c816bc8303e.yaml +0 -0
  71. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/drop-python-2-7-73d3113c69d724d6.yaml +0 -0
  72. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/etcd-jobboard-backend-8a9fea2238fb0f12.yaml +0 -0
  73. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/fix-endless-loop-on-storage-error-dd4467f0bbc66abf.yaml +0 -0
  74. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/fix-endless-loop-on-storage-failures-b98b30f0c34d25e1.yaml +0 -0
  75. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/fix-revert-all-revert-a0310cd7beaa7409.yaml +0 -0
  76. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/fix-storage-failure-handling-5c115d92daa0eb82.yaml +0 -0
  77. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/fix-zookeeper-option-parsing-f9d37fbc39af47f4.yaml +0 -0
  78. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/mask-keys-74b9bb5c420d8091.yaml +0 -0
  79. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/redis-username-df0eb33869db09a2.yaml +0 -0
  80. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/remove-process_executor-f59d40a5dd287cd7.yaml +0 -0
  81. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/remove-py38-15af791146f479e1.yaml +0 -0
  82. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/remove-py39-b6f3ce23fc9ea9b9.yaml +0 -0
  83. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/remove-strict-redis-f2a5a924b314de41.yaml +0 -0
  84. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/sentinel-fallbacks-6fe2ab0d68959cdf.yaml +0 -0
  85. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/sentinel-ssl-399c56ed7067d282.yaml +0 -0
  86. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/sentinel-use-redis-creds-63f58b12ad46a2b5.yaml +0 -0
  87. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/notes/zookeeper-ssl-support-b9abf24a39096b62.yaml +0 -0
  88. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/2023.1.rst +0 -0
  89. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/2023.2.rst +0 -0
  90. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/2024.1.rst +0 -0
  91. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/2024.2.rst +0 -0
  92. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/2025.1.rst +0 -0
  93. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/2025.2.rst +0 -0
  94. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/_static/.placeholder +0 -0
  95. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/_templates/.placeholder +0 -0
  96. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/conf.py +0 -0
  97. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/index.rst +0 -0
  98. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/ocata.rst +0 -0
  99. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/pike.rst +0 -0
  100. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/queens.rst +0 -0
  101. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/rocky.rst +0 -0
  102. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/stein.rst +0 -0
  103. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/train.rst +0 -0
  104. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/unreleased.rst +0 -0
  105. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/ussuri.rst +0 -0
  106. {taskflow-6.1.0 → taskflow-6.1.1}/releasenotes/source/victoria.rst +0 -0
  107. {taskflow-6.1.0 → taskflow-6.1.1}/requirements.txt +0 -0
  108. {taskflow-6.1.0 → taskflow-6.1.1}/run_tests.sh +0 -0
  109. {taskflow-6.1.0 → taskflow-6.1.1}/setup-etcd-env.sh +0 -0
  110. {taskflow-6.1.0 → taskflow-6.1.1}/setup.cfg +0 -0
  111. {taskflow-6.1.0 → taskflow-6.1.1}/setup.py +0 -0
  112. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/__init__.py +0 -0
  113. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/atom.py +0 -0
  114. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/conductors/__init__.py +0 -0
  115. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/conductors/backends/__init__.py +0 -0
  116. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/conductors/backends/impl_blocking.py +0 -0
  117. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/conductors/backends/impl_executor.py +0 -0
  118. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/conductors/backends/impl_nonblocking.py +0 -0
  119. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/conductors/base.py +0 -0
  120. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/contrib/__init__.py +0 -0
  121. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/deciders.py +0 -0
  122. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/__init__.py +0 -0
  123. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/__init__.py +0 -0
  124. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/actions/__init__.py +0 -0
  125. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/actions/base.py +0 -0
  126. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/actions/retry.py +0 -0
  127. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/actions/task.py +0 -0
  128. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/builder.py +0 -0
  129. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/compiler.py +0 -0
  130. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/completer.py +0 -0
  131. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/deciders.py +0 -0
  132. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/engine.py +0 -0
  133. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/executor.py +0 -0
  134. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/runtime.py +0 -0
  135. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/scheduler.py +0 -0
  136. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/scopes.py +0 -0
  137. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/action_engine/selector.py +0 -0
  138. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/base.py +0 -0
  139. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/helpers.py +0 -0
  140. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/worker_based/__init__.py +0 -0
  141. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/worker_based/dispatcher.py +0 -0
  142. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/worker_based/endpoint.py +0 -0
  143. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/worker_based/engine.py +0 -0
  144. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/worker_based/executor.py +0 -0
  145. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/worker_based/protocol.py +0 -0
  146. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/worker_based/proxy.py +0 -0
  147. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/worker_based/server.py +0 -0
  148. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/worker_based/types.py +0 -0
  149. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/engines/worker_based/worker.py +0 -0
  150. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/alphabet_soup.py +0 -0
  151. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/build_a_car.py +0 -0
  152. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/buildsystem.py +0 -0
  153. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/calculate_in_parallel.py +0 -0
  154. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/calculate_linear.py +0 -0
  155. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/create_parallel_volume.py +0 -0
  156. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/delayed_return.py +0 -0
  157. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/distance_calculator.py +0 -0
  158. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/dump_memory_backend.py +0 -0
  159. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/echo_listener.py +0 -0
  160. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/example_utils.py +0 -0
  161. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/fake_billing.py +0 -0
  162. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/graph_flow.py +0 -0
  163. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/hello_world.py +0 -0
  164. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/jobboard_produce_consume_colors.py +0 -0
  165. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/parallel_table_multiply.py +0 -0
  166. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/persistence_example.py +0 -0
  167. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/pseudo_scoping.out.txt +0 -0
  168. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/pseudo_scoping.py +0 -0
  169. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/resume_from_backend.out.txt +0 -0
  170. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/resume_from_backend.py +0 -0
  171. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/resume_many_flows/my_flows.py +0 -0
  172. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/resume_many_flows/resume_all.py +0 -0
  173. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/resume_many_flows/run_flow.py +0 -0
  174. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/resume_many_flows.out.txt +0 -0
  175. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/resume_many_flows.py +0 -0
  176. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/resume_vm_boot.py +0 -0
  177. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/resume_volume_create.py +0 -0
  178. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/retry_flow.out.txt +0 -0
  179. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/retry_flow.py +0 -0
  180. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/reverting_linear.out.txt +0 -0
  181. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/reverting_linear.py +0 -0
  182. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/run_by_iter.out.txt +0 -0
  183. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/run_by_iter.py +0 -0
  184. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/run_by_iter_enumerate.out.txt +0 -0
  185. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/run_by_iter_enumerate.py +0 -0
  186. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/share_engine_thread.py +0 -0
  187. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/simple_linear.out.txt +0 -0
  188. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/simple_linear.py +0 -0
  189. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/simple_linear_listening.out.txt +0 -0
  190. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/simple_linear_listening.py +0 -0
  191. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/simple_linear_pass.out.txt +0 -0
  192. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/simple_linear_pass.py +0 -0
  193. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/simple_map_reduce.py +0 -0
  194. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/switch_graph_flow.py +0 -0
  195. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/timing_listener.py +0 -0
  196. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/tox_conductor.py +0 -0
  197. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/wbe_event_sender.py +0 -0
  198. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/wbe_mandelbrot.out.txt +0 -0
  199. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/wbe_mandelbrot.py +0 -0
  200. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/wbe_simple_linear.out.txt +0 -0
  201. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/wbe_simple_linear.py +0 -0
  202. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/examples/wrapped_exception.py +0 -0
  203. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/exceptions.py +0 -0
  204. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/flow.py +0 -0
  205. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/formatters.py +0 -0
  206. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/jobs/__init__.py +0 -0
  207. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/jobs/backends/__init__.py +0 -0
  208. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/jobs/backends/impl_etcd.py +0 -0
  209. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/jobs/backends/impl_redis.py +0 -0
  210. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/jobs/backends/impl_zookeeper.py +0 -0
  211. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/jobs/base.py +0 -0
  212. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/listeners/__init__.py +0 -0
  213. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/listeners/base.py +0 -0
  214. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/listeners/capturing.py +0 -0
  215. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/listeners/claims.py +0 -0
  216. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/listeners/logging.py +0 -0
  217. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/listeners/printing.py +0 -0
  218. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/listeners/timing.py +0 -0
  219. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/logging.py +0 -0
  220. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/patterns/__init__.py +0 -0
  221. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/patterns/graph_flow.py +0 -0
  222. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/patterns/linear_flow.py +0 -0
  223. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/patterns/unordered_flow.py +0 -0
  224. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/__init__.py +0 -0
  225. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/__init__.py +0 -0
  226. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/impl_dir.py +0 -0
  227. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/impl_memory.py +0 -0
  228. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/impl_sqlalchemy.py +0 -0
  229. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/impl_zookeeper.py +0 -0
  230. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/__init__.py +0 -0
  231. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/README +0 -0
  232. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/alembic.ini +0 -0
  233. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/env.py +0 -0
  234. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/script.py.mako +0 -0
  235. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/00af93df9d77_add_unique_into_all_indexes.py +0 -0
  236. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/0bc3e1a3c135_set_result_meduimtext_type.py +0 -0
  237. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/14b227d79a87_add_intention_column.py +0 -0
  238. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/1c783c0c2875_replace_exception_an.py +0 -0
  239. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/1cea328f0f65_initial_logbook_deta.py +0 -0
  240. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/2ad4984f2864_switch_postgres_to_json_native.py +0 -0
  241. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/3162c0f3f8e4_add_revert_results_and_revert_failure_.py +0 -0
  242. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/40fc8c914bd2_fix_atomdetails_failure_size.py +0 -0
  243. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/589dccdf2b6e_rename_taskdetails_to_atomdetails.py +0 -0
  244. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/6df9422fcb43_fix_flowdetails_meta_size.py +0 -0
  245. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/84d6e888850_add_task_detail_type.py +0 -0
  246. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/alembic/versions/README +0 -0
  247. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/migration.py +0 -0
  248. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/backends/sqlalchemy/tables.py +0 -0
  249. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/base.py +0 -0
  250. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/models.py +0 -0
  251. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/persistence/path_based.py +0 -0
  252. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/retry.py +0 -0
  253. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/states.py +0 -0
  254. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/storage.py +0 -0
  255. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/task.py +0 -0
  256. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/test.py +0 -0
  257. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/__init__.py +0 -0
  258. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/fixtures.py +0 -0
  259. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/test_examples.py +0 -0
  260. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/__init__.py +0 -0
  261. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/action_engine/__init__.py +0 -0
  262. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/action_engine/test_builder.py +0 -0
  263. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/action_engine/test_compile.py +0 -0
  264. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/action_engine/test_creation.py +0 -0
  265. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/action_engine/test_scoping.py +0 -0
  266. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/jobs/__init__.py +0 -0
  267. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/jobs/base.py +0 -0
  268. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/jobs/test_entrypoint.py +0 -0
  269. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/jobs/test_etcd_job.py +0 -0
  270. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/jobs/test_redis_job.py +0 -0
  271. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/jobs/test_zk_job.py +0 -0
  272. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/patterns/__init__.py +0 -0
  273. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/patterns/test_graph_flow.py +0 -0
  274. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/patterns/test_linear_flow.py +0 -0
  275. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/patterns/test_unordered_flow.py +0 -0
  276. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/persistence/__init__.py +0 -0
  277. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/persistence/base.py +0 -0
  278. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/persistence/test_dir_persistence.py +0 -0
  279. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/persistence/test_memory_persistence.py +0 -0
  280. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/persistence/test_sql_persistence.py +0 -0
  281. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/persistence/test_zk_persistence.py +0 -0
  282. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_arguments_passing.py +0 -0
  283. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_check_transition.py +0 -0
  284. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_conductors.py +0 -0
  285. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_deciders.py +0 -0
  286. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_engine_helpers.py +0 -0
  287. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_exceptions.py +0 -0
  288. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_failure.py +0 -0
  289. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_flow_dependencies.py +0 -0
  290. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_formatters.py +0 -0
  291. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_functor_task.py +0 -0
  292. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_listeners.py +0 -0
  293. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_mapfunctor_task.py +0 -0
  294. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_notifier.py +0 -0
  295. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_progress.py +0 -0
  296. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_reducefunctor_task.py +0 -0
  297. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_retries.py +0 -0
  298. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_states.py +0 -0
  299. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_storage.py +0 -0
  300. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_suspend.py +0 -0
  301. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_task.py +0 -0
  302. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_types.py +0 -0
  303. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_utils.py +0 -0
  304. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_utils_async_utils.py +0 -0
  305. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_utils_binary.py +0 -0
  306. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_utils_iter_utils.py +0 -0
  307. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_utils_kazoo_utils.py +0 -0
  308. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/test_utils_threading_utils.py +0 -0
  309. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/__init__.py +0 -0
  310. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_creation.py +0 -0
  311. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_dispatcher.py +0 -0
  312. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_endpoint.py +0 -0
  313. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_executor.py +0 -0
  314. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_message_pump.py +0 -0
  315. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_pipeline.py +0 -0
  316. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_protocol.py +0 -0
  317. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_proxy.py +0 -0
  318. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_server.py +0 -0
  319. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_types.py +0 -0
  320. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/unit/worker_based/test_worker.py +0 -0
  321. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/tests/utils.py +0 -0
  322. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/types/__init__.py +0 -0
  323. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/types/entity.py +0 -0
  324. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/types/failure.py +0 -0
  325. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/types/graph.py +0 -0
  326. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/types/latch.py +0 -0
  327. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/types/notifier.py +0 -0
  328. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/types/sets.py +0 -0
  329. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/types/timing.py +0 -0
  330. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/types/tree.py +0 -0
  331. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/__init__.py +0 -0
  332. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/async_utils.py +0 -0
  333. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/banner.py +0 -0
  334. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/eventlet_utils.py +0 -0
  335. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/iter_utils.py +0 -0
  336. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/kazoo_utils.py +0 -0
  337. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/kombu_utils.py +0 -0
  338. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/misc.py +0 -0
  339. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/persistence_utils.py +0 -0
  340. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/redis_utils.py +0 -0
  341. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/schema_utils.py +0 -0
  342. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/utils/threading_utils.py +0 -0
  343. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow/version.py +0 -0
  344. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow.egg-info/SOURCES.txt +0 -0
  345. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow.egg-info/dependency_links.txt +0 -0
  346. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow.egg-info/entry_points.txt +0 -0
  347. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow.egg-info/not-zip-safe +0 -0
  348. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow.egg-info/requires.txt +0 -0
  349. {taskflow-6.1.0 → taskflow-6.1.1}/taskflow.egg-info/top_level.txt +0 -0
  350. {taskflow-6.1.0 → taskflow-6.1.1}/test-requirements.txt +0 -0
  351. {taskflow-6.1.0 → taskflow-6.1.1}/tools/clear_zk.sh +0 -0
  352. {taskflow-6.1.0 → taskflow-6.1.1}/tools/env_builder.sh +0 -0
  353. {taskflow-6.1.0 → taskflow-6.1.1}/tools/pretty_tox.sh +0 -0
  354. {taskflow-6.1.0 → taskflow-6.1.1}/tools/schema_generator.py +0 -0
  355. {taskflow-6.1.0 → taskflow-6.1.1}/tools/speed_test.py +0 -0
  356. {taskflow-6.1.0 → taskflow-6.1.1}/tools/state_graph.py +0 -0
  357. {taskflow-6.1.0 → taskflow-6.1.1}/tools/subunit_trace.py +0 -0
  358. {taskflow-6.1.0 → taskflow-6.1.1}/tools/test-setup.sh +0 -0
  359. {taskflow-6.1.0 → taskflow-6.1.1}/tools/update_states.sh +0 -0
  360. {taskflow-6.1.0 → taskflow-6.1.1}/tox.ini +0 -0
@@ -13,13 +13,13 @@ repos:
13
13
  - id: check-yaml
14
14
  files: .*\.(yaml|yml)$
15
15
  - repo: https://opendev.org/openstack/hacking
16
- rev: 7.0.0
16
+ rev: 8.0.0
17
17
  hooks:
18
18
  - id: hacking
19
19
  additional_dependencies: []
20
20
  exclude: '^(doc|releasenotes|tools)/.*$'
21
21
  - repo: https://github.com/asottile/pyupgrade
22
- rev: v3.20.0
22
+ rev: v3.21.2
23
23
  hooks:
24
24
  - id: pyupgrade
25
25
  args: [--py310-plus]
@@ -1,6 +1,12 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
+ 6.1.1
5
+ -----
6
+
7
+ * Avoid iterating over the same atoms in a graph
8
+ * pre-commit: Bump versions
9
+
4
10
  6.1.0
5
11
  -----
6
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taskflow
3
- Version: 6.1.0
3
+ Version: 6.1.1
4
4
  Summary: Taskflow structured state management library.
5
5
  Author-email: OpenStack <openstack-discuss@lists.openstack.org>
6
6
  License: Apache-2.0
@@ -60,8 +60,13 @@ def breadth_first_iterate(execution_graph, starting_node, direction,
60
60
  through_flows=through_flows, through_retries=through_retries,
61
61
  through_tasks=through_tasks)
62
62
  q = collections.deque(initial_nodes_iter)
63
+ visited_nodes = set()
63
64
  while q:
64
65
  node = q.popleft()
66
+ if node in visited_nodes:
67
+ continue
68
+ visited_nodes.add(node)
69
+
65
70
  node_attrs = execution_graph.nodes[node]
66
71
  if not node_attrs.get('noop'):
67
72
  yield node
@@ -88,8 +93,13 @@ def depth_first_iterate(execution_graph, starting_node, direction,
88
93
  through_flows=through_flows, through_retries=through_retries,
89
94
  through_tasks=through_tasks)
90
95
  stack = list(initial_nodes_iter)
96
+ visited_nodes = set()
91
97
  while stack:
92
98
  node = stack.pop()
99
+ if node in visited_nodes:
100
+ continue
101
+ visited_nodes.add(node)
102
+
93
103
  node_attrs = execution_graph.nodes[node]
94
104
  if not node_attrs.get('noop'):
95
105
  yield node
@@ -194,7 +194,6 @@ def main_local():
194
194
  # the examples are made sure to still function correctly...
195
195
  global TAKE_DOWN_DELAY
196
196
  global PASS_AROUND_DELAY
197
- global JB_CONF
198
197
  # Make everything go much faster (so that this finishes quickly).
199
198
  PASS_AROUND_DELAY = 0.01
200
199
  TAKE_DOWN_DELAY = 0.01
@@ -632,6 +632,20 @@ class EngineParallelFlowTest(utils.EngineTestBase):
632
632
  self.assertEqual({'x1': 17, 'x2': 5},
633
633
  engine.storage.fetch_all())
634
634
 
635
+ # Reproducer for #2139228 and #2086453
636
+ def test_many_unordered_flows_in_linear_flow(self):
637
+ flow = lf.Flow("root")
638
+ for i in range(10):
639
+ sf = uf.Flow(f'subflow {i}')
640
+ for j in range(10):
641
+ sf.add(utils.ProgressingTask(name=f"task {i}:{j}"))
642
+ flow.add(sf)
643
+
644
+ engine = self._make_engine(flow)
645
+ with utils.CaptureListener(engine, capture_flow=False) as capturer:
646
+ engine.run()
647
+ self.assertIn("task 9:9.t SUCCESS(5)", capturer.values)
648
+
635
649
 
636
650
  class EngineLinearAndUnorderedExceptionsTest(utils.EngineTestBase):
637
651
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taskflow
3
- Version: 6.1.0
3
+ Version: 6.1.1
4
4
  Summary: Taskflow structured state management library.
5
5
  Author-email: OpenStack <openstack-discuss@lists.openstack.org>
6
6
  License: Apache-2.0
@@ -0,0 +1 @@
1
+ {"git_version": "6fc3a9b0", "is_release": true}
@@ -1 +0,0 @@
1
- {"git_version": "1a72794f", "is_release": true}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes