taskflow 5.9.1__py3-none-any.whl → 5.11.0__py3-none-any.whl

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.
@@ -26,12 +26,14 @@ from taskflow.tests.unit.jobs import base
26
26
  from taskflow.tests import utils as test_utils
27
27
 
28
28
  ETCD_AVAILABLE = test_utils.etcd_available()
29
+ ETCD_PORT = test_utils.ETCD_PORT
29
30
 
30
31
 
31
32
  class EtcdJobBoardMixin:
32
33
  def create_board(self, conf=None, persistence=None):
33
34
  self.path = f"test-{uuidutils.generate_uuid()}"
34
35
  board_conf = {
36
+ "port": ETCD_PORT,
35
37
  "path": self.path,
36
38
  }
37
39
  if conf:
@@ -32,6 +32,7 @@ from taskflow.utils import redis_utils as ru
32
32
 
33
33
  REDIS_AVAILABLE = test_utils.redis_available(
34
34
  impl_redis.RedisJobBoard.MIN_REDIS_VERSION)
35
+ REDIS_PORT = test_utils.REDIS_PORT
35
36
 
36
37
 
37
38
  @testtools.skipIf(not REDIS_AVAILABLE, 'redis is not available')
@@ -41,7 +42,7 @@ class RedisJobboardTest(test.TestCase, base.BoardTestMixin):
41
42
 
42
43
  def create_board(self, persistence=None):
43
44
  namespace = uuidutils.generate_uuid()
44
- client = ru.RedisClient()
45
+ client = ru.RedisClient(port=REDIS_PORT)
45
46
  config = {
46
47
  'namespace': ("taskflow-%s" % namespace).encode('latin-1'),
47
48
  }
@@ -17,8 +17,6 @@
17
17
  import pickle
18
18
  import sys
19
19
 
20
- from oslo_utils import encodeutils
21
-
22
20
  from taskflow import exceptions
23
21
  from taskflow import test
24
22
  from taskflow.tests import utils as test_utils
@@ -334,8 +332,7 @@ class NonAsciiExceptionsTestCase(test.TestCase):
334
332
  bad_string = chr(200)
335
333
  excp = ValueError(bad_string)
336
334
  fail = failure.Failure.from_exception(excp)
337
- self.assertEqual(encodeutils.exception_to_unicode(excp),
338
- fail.exception_str)
335
+ self.assertEqual(str(excp), fail.exception_str)
339
336
  expected = u'Failure: ValueError: \xc8'
340
337
  self.assertEqual(expected, str(fail))
341
338
 
@@ -350,7 +347,7 @@ class NonAsciiExceptionsTestCase(test.TestCase):
350
347
  def test_wrapped_failure_non_ascii_unicode(self):
351
348
  hi_cn = u'嗨'
352
349
  fail = ValueError(hi_cn)
353
- self.assertEqual(hi_cn, encodeutils.exception_to_unicode(fail))
350
+ self.assertEqual(hi_cn, str(fail))
354
351
  fail = failure.Failure.from_exception(fail)
355
352
  wrapped_fail = exceptions.WrappedFailure([fail])
356
353
  expected_result = (u"WrappedFailure: "
taskflow/tests/utils.py CHANGED
@@ -15,6 +15,7 @@
15
15
  # under the License.
16
16
 
17
17
  import contextlib
18
+ import os
18
19
  import string
19
20
  import threading
20
21
  import time
@@ -32,12 +33,12 @@ from taskflow.types import failure
32
33
  from taskflow.utils import kazoo_utils
33
34
  from taskflow.utils import redis_utils
34
35
 
35
- ARGS_KEY = '__args__'
36
- KWARGS_KEY = '__kwargs__'
37
- ORDER_KEY = '__order__'
36
+ ETCD_PORT = int(os.getenv("TASKFLOW_TEST_ETCD_PORT", 2379))
37
+ REDIS_PORT = int(os.getenv("TASKFLOW_TEST_REDIS_SENTINEL_PORT", 6379))
38
+ ZK_PORT = int(os.getenv("TASKFLOW_TEST_ZOOKEEPER_PORT", 2181))
38
39
  ZK_TEST_CONFIG = {
39
40
  'timeout': 1.0,
40
- 'hosts': ["localhost:2181"],
41
+ 'hosts': ["localhost:%d" % ZK_PORT],
41
42
  }
42
43
  # If latches/events take longer than this to become empty/set, something is
43
44
  # usually wrong and should be debugged instead of deadlocking...
@@ -78,7 +79,7 @@ def zookeeper_available(min_version, timeout=3):
78
79
 
79
80
 
80
81
  def redis_available(min_version):
81
- client = redis.Redis()
82
+ client = redis.Redis(port=REDIS_PORT)
82
83
  try:
83
84
  client.ping()
84
85
  except Exception:
@@ -90,7 +91,7 @@ def redis_available(min_version):
90
91
 
91
92
 
92
93
  def etcd_available():
93
- client = etcd3gw.Etcd3Client()
94
+ client = etcd3gw.Etcd3Client(port=ETCD_PORT)
94
95
  try:
95
96
  client.get("/")
96
97
  except Exception:
taskflow/types/failure.py CHANGED
@@ -21,7 +21,6 @@ import os
21
21
  import sys
22
22
  import traceback
23
23
 
24
- from oslo_utils import encodeutils
25
24
  from oslo_utils import reflection
26
25
 
27
26
  from taskflow import exceptions as exc
@@ -29,9 +28,6 @@ from taskflow.utils import iter_utils
29
28
  from taskflow.utils import schema_utils as su
30
29
 
31
30
 
32
- _exception_message = encodeutils.exception_to_unicode
33
-
34
-
35
31
  def _copy_exc_info(exc_info):
36
32
  if exc_info is None:
37
33
  return None
@@ -57,7 +53,7 @@ def _are_equal_exc_info_tuples(ei1, ei2):
57
53
  # because we want the types to be exactly the same, not just have
58
54
  # one be inherited from the other.
59
55
  if not all((type(ei1[1]) == type(ei2[1]), # noqa: E721
60
- _exception_message(ei1[1]) == _exception_message(ei2[1]),
56
+ str(ei1[1]) == str(ei2[1]),
61
57
  repr(ei1[1]) == repr(ei2[1]))):
62
58
  return False
63
59
  if ei1[2] == ei2[2]:
@@ -195,7 +191,7 @@ class Failure():
195
191
  if not self._exc_type_names:
196
192
  raise TypeError("Invalid exception type '%s' (%s)"
197
193
  % (exc_info[0], type(exc_info[0])))
198
- self._exception_str = _exception_message(self._exc_info[1])
194
+ self._exception_str = str(self._exc_info[1])
199
195
  self._traceback_str = ''.join(
200
196
  traceback.format_tb(self._exc_info[2]))
201
197
  self._causes = kwargs.pop('causes', None)
@@ -29,6 +29,6 @@ def check_for_eventlet(exc=None):
29
29
  """
30
30
  if not EVENTLET_AVAILABLE:
31
31
  if exc is None:
32
- raise RuntimeError('Eventlet is not current available')
32
+ raise RuntimeError('Eventlet is not currently available')
33
33
  else:
34
34
  raise exc
taskflow/version.py CHANGED
@@ -14,19 +14,14 @@
14
14
  # License for the specific language governing permissions and limitations
15
15
  # under the License.
16
16
 
17
- import pkg_resources
17
+ from pbr import version as pbr_version
18
18
 
19
19
  TASK_VENDOR = "OpenStack Foundation"
20
20
  TASK_PRODUCT = "OpenStack TaskFlow"
21
21
  TASK_PACKAGE = None # OS distro package version suffix
22
22
 
23
- try:
24
- from pbr import version as pbr_version
25
- _version_info = pbr_version.VersionInfo('taskflow')
26
- version_string = _version_info.version_string
27
- except ImportError:
28
- _version_info = pkg_resources.get_distribution('taskflow')
29
- version_string = lambda: _version_info.version
23
+ _version_info = pbr_version.VersionInfo('taskflow')
24
+ version_string = _version_info.version_string
30
25
 
31
26
 
32
27
  def version_string_with_package():
@@ -1,13 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taskflow
3
- Version: 5.9.1
3
+ Version: 5.11.0
4
4
  Summary: Taskflow structured state management library.
5
5
  Home-page: https://docs.openstack.org/taskflow/latest/
6
6
  Author: OpenStack
7
7
  Author-email: openstack-discuss@lists.openstack.org
8
- License: UNKNOWN
9
8
  Keywords: reliable,tasks,execution,parallel,dataflow,workflows,distributed
10
- Platform: UNKNOWN
11
9
  Classifier: Development Status :: 5 - Production/Stable
12
10
  Classifier: Environment :: OpenStack
13
11
  Classifier: Intended Audience :: Developers
@@ -16,52 +14,63 @@ Classifier: License :: OSI Approved :: Apache Software License
16
14
  Classifier: Operating System :: POSIX :: Linux
17
15
  Classifier: Programming Language :: Python
18
16
  Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.8
20
17
  Classifier: Programming Language :: Python :: 3.9
21
18
  Classifier: Programming Language :: Python :: 3.10
22
19
  Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
23
21
  Classifier: Programming Language :: Python :: 3 :: Only
24
22
  Classifier: Programming Language :: Python :: Implementation :: CPython
25
23
  Classifier: Topic :: Software Development :: Libraries
26
24
  Classifier: Topic :: System :: Distributed Computing
27
- Requires-Python: >=3.8
28
- Requires-Dist: automaton (>=1.9.0)
29
- Requires-Dist: cachetools (>=2.0.0)
30
- Requires-Dist: fasteners (>=0.17.3)
31
- Requires-Dist: futurist (>=1.2.0)
32
- Requires-Dist: jsonschema (>=3.2.0)
33
- Requires-Dist: networkx (>=2.1.0)
34
- Requires-Dist: oslo.serialization (>=2.18.0)
35
- Requires-Dist: oslo.utils (>=3.33.0)
36
- Requires-Dist: pbr (>=2.0.0)
37
- Requires-Dist: pydot (>=1.2.4)
38
- Requires-Dist: stevedore (>=1.20.0)
39
- Requires-Dist: tenacity (>=6.0.0)
25
+ Requires-Python: >=3.9
26
+ License-File: LICENSE
27
+ License-File: AUTHORS
28
+ Requires-Dist: pbr >=2.0.0
29
+ Requires-Dist: futurist >=1.2.0
30
+ Requires-Dist: fasteners >=0.17.3
31
+ Requires-Dist: networkx >=2.1.0
32
+ Requires-Dist: stevedore >=1.20.0
33
+ Requires-Dist: jsonschema >=3.2.0
34
+ Requires-Dist: automaton >=1.9.0
35
+ Requires-Dist: oslo.utils >=3.33.0
36
+ Requires-Dist: oslo.serialization >=2.18.0
37
+ Requires-Dist: tenacity >=6.0.0
38
+ Requires-Dist: cachetools >=2.0.0
39
+ Requires-Dist: pydot >=1.2.4
40
40
  Provides-Extra: database
41
- Requires-Dist: PyMySQL (>=0.7.6) ; extra == 'database'
42
- Requires-Dist: SQLAlchemy-Utils (>=0.30.11) ; extra == 'database'
43
- Requires-Dist: SQLAlchemy (>=1.0.10) ; extra == 'database'
44
- Requires-Dist: alembic (>=0.8.10) ; extra == 'database'
45
- Requires-Dist: psycopg2 (>=2.8.0) ; extra == 'database'
41
+ Requires-Dist: SQLAlchemy >=1.0.10 ; extra == 'database'
42
+ Requires-Dist: alembic >=0.8.10 ; extra == 'database'
43
+ Requires-Dist: SQLAlchemy-Utils >=0.30.11 ; extra == 'database'
44
+ Requires-Dist: PyMySQL >=0.7.6 ; extra == 'database'
45
+ Requires-Dist: psycopg2 >=2.8.0 ; extra == 'database'
46
46
  Provides-Extra: etcd
47
- Requires-Dist: etcd3gw (>=2.0.0) ; extra == 'etcd'
47
+ Requires-Dist: etcd3gw >=2.0.0 ; extra == 'etcd'
48
48
  Provides-Extra: eventlet
49
- Requires-Dist: eventlet (>=0.18.2) ; extra == 'eventlet'
49
+ Requires-Dist: eventlet >=0.18.2 ; extra == 'eventlet'
50
50
  Provides-Extra: redis
51
- Requires-Dist: redis (>=4.0.0) ; extra == 'redis'
51
+ Requires-Dist: redis >=4.0.0 ; extra == 'redis'
52
52
  Provides-Extra: test
53
- Requires-Dist: hacking (<0.11,>=0.10.0) ; extra == 'test'
54
- Requires-Dist: mock (>=2.0.0) ; extra == 'test'
55
- Requires-Dist: oslotest (>=3.2.0) ; extra == 'test'
56
- Requires-Dist: pydotplus (>=2.0.2) ; extra == 'test'
57
- Requires-Dist: stestr (>=2.0.0) ; extra == 'test'
58
- Requires-Dist: testscenarios (>=0.4) ; extra == 'test'
59
- Requires-Dist: testtools (>=2.2.0) ; extra == 'test'
53
+ Requires-Dist: kazoo >=2.6.0 ; extra == 'test'
54
+ Requires-Dist: redis >=4.0.0 ; extra == 'test'
55
+ Requires-Dist: etcd3gw >=2.0.0 ; extra == 'test'
56
+ Requires-Dist: kombu >=4.3.0 ; extra == 'test'
57
+ Requires-Dist: eventlet >=0.18.2 ; extra == 'test'
58
+ Requires-Dist: SQLAlchemy >=1.0.10 ; extra == 'test'
59
+ Requires-Dist: alembic >=0.8.10 ; extra == 'test'
60
+ Requires-Dist: SQLAlchemy-Utils >=0.30.11 ; extra == 'test'
61
+ Requires-Dist: PyMySQL >=0.7.6 ; extra == 'test'
62
+ Requires-Dist: psycopg2 >=2.8.0 ; extra == 'test'
63
+ Requires-Dist: zake >=0.1.6 ; extra == 'test'
64
+ Requires-Dist: pydotplus >=2.0.2 ; extra == 'test'
65
+ Requires-Dist: oslotest >=3.2.0 ; extra == 'test'
66
+ Requires-Dist: testtools >=2.2.0 ; extra == 'test'
67
+ Requires-Dist: testscenarios >=0.4 ; extra == 'test'
68
+ Requires-Dist: stestr >=2.0.0 ; extra == 'test'
69
+ Requires-Dist: pifpaf >=0.10.0 ; extra == 'test'
60
70
  Provides-Extra: workers
61
- Requires-Dist: kombu (>=4.3.0) ; extra == 'workers'
71
+ Requires-Dist: kombu >=4.3.0 ; extra == 'workers'
62
72
  Provides-Extra: zookeeper
63
- Requires-Dist: kazoo (>=2.6.0) ; extra == 'zookeeper'
64
- Requires-Dist: zake (>=0.1.6) ; extra == 'zookeeper'
73
+ Requires-Dist: kazoo >=2.6.0 ; extra == 'zookeeper'
65
74
 
66
75
  ========================
67
76
  Team and repository tags
@@ -137,5 +146,3 @@ We also have sphinx documentation in ``docs/source``.
137
146
  .. _eventlet: http://eventlet.net/
138
147
  .. _tox: https://tox.testrun.org/
139
148
 
140
-
141
-
@@ -10,7 +10,7 @@ taskflow/states.py,sha256=3MRdAfs0x94QhDjl-RGyTfxAbkL3APtNr_qQf6apqbE,6901
10
10
  taskflow/storage.py,sha256=CSCegSPkrw2QDP6qGrzUYTWBFBX34Kqv0p9hwYId9oM,52114
11
11
  taskflow/task.py,sha256=qw79ho1bhwe5KttSPjalfUlCTfLUjNGc1twNdTFMi4w,10052
12
12
  taskflow/test.py,sha256=T6DfnwU7NcSRLfAYR3QgmGXhRVkYfeH-6JEp2jffQh8,9341
13
- taskflow/version.py,sha256=QWhiNICILD4xTAZPrJVUF9dsH-VoCHbHsKuwPA3IMrE,1263
13
+ taskflow/version.py,sha256=UU8J6gwFErEHh0U8vhI2hxPlTN9k47Fvul2I-4bPp6A,1091
14
14
  taskflow/conductors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  taskflow/conductors/base.py,sha256=k7E_zu9CIORhODWzwmxh7w8fSNhG6dJaYEfLwIxhxXE,7332
16
16
  taskflow/conductors/backends/__init__.py,sha256=UJS_4cDCt9PT1jrTcmB6cNk4yJpRm1LEoq4rigvaWQ0,1634
@@ -149,7 +149,7 @@ taskflow/persistence/backends/sqlalchemy/alembic/versions/README,sha256=AwegmiWc
149
149
  taskflow/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
150
  taskflow/tests/fixtures.py,sha256=VfGlusX2q79_ktPME4cm1qt_gN9VNRAwyYy5sDBAX0Y,2004
151
151
  taskflow/tests/test_examples.py,sha256=g2zhguLKE4Tex2e_vSmKMhsNXItnKWj89_VbnmgGejU,4925
152
- taskflow/tests/utils.py,sha256=go8D7cUHQJ31F0n0Ts5ijeHdC7JsCFpsgdHb09QL5A4,11954
152
+ taskflow/tests/utils.py,sha256=siTwfev-swP-TsPrxgcxqURZzZcVpqJaCZqm674qgso,12123
153
153
  taskflow/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
154
  taskflow/tests/unit/test_arguments_passing.py,sha256=jK9-Z7xBfPI4nHB7_Bh_rllBH-X55v6wplxdrjwRS3E,9381
155
155
  taskflow/tests/unit/test_check_transition.py,sha256=DuxJAErCwheWPAdN_43LOOvZg00vmUoC-IzGgh642IM,6173
@@ -158,7 +158,7 @@ taskflow/tests/unit/test_deciders.py,sha256=I5nDijs0Ybhw0HmCjY41N2L612U03-xH9Z7C
158
158
  taskflow/tests/unit/test_engine_helpers.py,sha256=EPYzq1r5d3cvIxseBeTLGPY3ZkJtV7C6Zi8il-cO94o,5399
159
159
  taskflow/tests/unit/test_engines.py,sha256=30MZKR3hALtZk2CbY85T2iBIQOOWN-ZigPR6yYFd748,64570
160
160
  taskflow/tests/unit/test_exceptions.py,sha256=QDpa7X99Z5ET7s0dimV_YY4wit8Oqrcs5fZG7fTmX2Q,4362
161
- taskflow/tests/unit/test_failure.py,sha256=xnmkeSuQlTCCsXL6PvgAkQrPN28ahESQL2sEftwyuKQ,17982
161
+ taskflow/tests/unit/test_failure.py,sha256=_2vT18lAeTkMRNepX7DdMPH1W7upJl9kfc7G-37EB3w,17863
162
162
  taskflow/tests/unit/test_flow_dependencies.py,sha256=PGPjxp-VeVp1E2Of6OAnEsyB0p4xTa-xd7NLnyjtl-A,18086
163
163
  taskflow/tests/unit/test_formatters.py,sha256=vSwbBbPmuET18Sc-3p1kCIHdb9g2F4RHxANXEJHzWQA,3921
164
164
  taskflow/tests/unit/test_functor_task.py,sha256=gAjJE2urR61-pFd98mtmAkSKYX2vPwp17ied3LjhdNQ,2528
@@ -188,8 +188,8 @@ taskflow/tests/unit/action_engine/test_scoping.py,sha256=wIB9C3LMgfsqO6cdz_ZdhQc
188
188
  taskflow/tests/unit/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
189
  taskflow/tests/unit/jobs/base.py,sha256=wYv5ziDeVdYn2nhuMSfYTWU39Xxpv8lRKvJbGsB79lM,8447
190
190
  taskflow/tests/unit/jobs/test_entrypoint.py,sha256=t2m5zeYhjb2pmPxBgGO_0AMWR0dabWxglDBODzLE0fY,2220
191
- taskflow/tests/unit/jobs/test_etcd_job.py,sha256=oKnZ0nnmpmr9K04x3a4d6STvrE811uPRYdrJAbgdyv0,16512
192
- taskflow/tests/unit/jobs/test_redis_job.py,sha256=wHwptqgrafZMk0aDZNvn2h3sJw8ckKY1g5J9I_dzWAM,7394
191
+ taskflow/tests/unit/jobs/test_etcd_job.py,sha256=EhcdScOz87evJln_srG091w0L3gJWAxApw6n3Ypb2fo,16576
192
+ taskflow/tests/unit/jobs/test_redis_job.py,sha256=_OqqMe4k9EAtjP6Y9jMBM6dUE3sI_cJii3uXAsafVTE,7444
193
193
  taskflow/tests/unit/jobs/test_zk_job.py,sha256=e5CdkqmiQY_jzNtcHsxKcsS9uY7k-D8CMGkqt1J_bqE,13789
194
194
  taskflow/tests/unit/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
195
195
  taskflow/tests/unit/patterns/test_graph_flow.py,sha256=g5x6RdEgD6Sws3C5zmgz3kFpbJLEoi6i42RSEk5Vlso,12452
@@ -215,7 +215,7 @@ taskflow/tests/unit/worker_based/test_types.py,sha256=EXKG4ihOrQqKCzo7NQwRlk1peX
215
215
  taskflow/tests/unit/worker_based/test_worker.py,sha256=1jmGrtL6atPu88zBRTMOe1pUlUFAZzuXwM7sQxIX2lY,7109
216
216
  taskflow/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
217
  taskflow/types/entity.py,sha256=vIPHHNnA7givgPh-vOIzSEP3Hu9baRwl1fQXtAJ9y-g,1587
218
- taskflow/types/failure.py,sha256=4Jn5oH5QG6392kEYp_Exu2SnNDh2Ydg89ST1w4cB1Fw,21189
218
+ taskflow/types/failure.py,sha256=JVrk2Z4JbDohwV7MGa5jxwkXXx8BcHbocLizXlH2kcM,21053
219
219
  taskflow/types/graph.py,sha256=T0JbyYfHVtNlzQW_ATuQngc7e-WpVS7NMnOFpJY6xSc,10504
220
220
  taskflow/types/latch.py,sha256=ZYE7qQeyTaKK9ChIVJx7Y0U0iBBjsuVU_-kpwIWd_-w,2193
221
221
  taskflow/types/notifier.py,sha256=2N_GqBcseYPD9DSsBKRCgvuuSvCMZYj7MN-oPcYDmc4,14071
@@ -225,7 +225,7 @@ taskflow/types/tree.py,sha256=j-5i3haMJ259ATNI4EccQjhg60_0mXHStIvOgKFM-LE,15820
225
225
  taskflow/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
226
  taskflow/utils/async_utils.py,sha256=aoRp7cY8cm5jSsOy3RyV5Fjr27U2J_V6ldMYVWTPJJ4,855
227
227
  taskflow/utils/banner.py,sha256=_44ZM33gye8orjUN4B_VdQe8ksEPAK3WI6pfrMMiEiE,3635
228
- taskflow/utils/eventlet_utils.py,sha256=-0Tpw9x8UmQYXbyCbh751k1D5gPYVQv2zqCRis3vcmE,1149
228
+ taskflow/utils/eventlet_utils.py,sha256=cxXDIkGb2qTsAZ4lu9XbKZj9GNQ1FBkSCYeHXhYk0ak,1151
229
229
  taskflow/utils/iter_utils.py,sha256=RAMpEe7pYsXXoObke0Jh2ePpfdX7cTDxhTgHua2v37M,4674
230
230
  taskflow/utils/kazoo_utils.py,sha256=fCHMC-a5ayJqzBVjdTiy1WqBE6hSmRwxx7GkF-jd6Nw,9915
231
231
  taskflow/utils/kombu_utils.py,sha256=tgAN6c7kSggbT0rMn3rVzkKm9e1CmW90Jpb5279G2zg,2528
@@ -234,11 +234,11 @@ taskflow/utils/persistence_utils.py,sha256=GWceOcxdfsf-MtrdR74xmC2khClF8im6DpZmR
234
234
  taskflow/utils/redis_utils.py,sha256=zJBvXmlNZUQ_gwGZAaNLySVtCtou3YayHAkGSCNKDUw,4345
235
235
  taskflow/utils/schema_utils.py,sha256=Zf6eL0NK0_TVFD_Sc1yEZYswFz9K0tet1Dmj48F8uMA,1434
236
236
  taskflow/utils/threading_utils.py,sha256=eiaNUK127DOBr_zfj3-j4Oi5a2dsD7VunVeTYN6NjPo,5849
237
- taskflow-5.9.1.dist-info/AUTHORS,sha256=uKVGnRq9UrIKLl5MhXJ9QuqzKXynjWcZcuaW_j9Eh5g,4564
238
- taskflow-5.9.1.dist-info/LICENSE,sha256=0t4vVm0tDgtQn7DqH6Nmn0kGSrHeIcV0U8qzdQojTo8,10143
239
- taskflow-5.9.1.dist-info/METADATA,sha256=cZHxTrZuq1RW6ZopG9g3Yf5nM1d-dIpnW0BIZy2zyoo,5146
240
- taskflow-5.9.1.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
241
- taskflow-5.9.1.dist-info/entry_points.txt,sha256=bIwgsxgCx_nrcv_gMhFDVffkg_r4NHX2O43iEXUKohU,1236
242
- taskflow-5.9.1.dist-info/pbr.json,sha256=r6eUVJh_ZGPwgjtiFsQha4d7x0jrO255TgbBcTs1G8M,47
243
- taskflow-5.9.1.dist-info/top_level.txt,sha256=PsdN41vwysesDlqHCSVVXH4mkTMdMiZFW_yHEAXiZE4,9
244
- taskflow-5.9.1.dist-info/RECORD,,
237
+ taskflow-5.11.0.dist-info/AUTHORS,sha256=uKVGnRq9UrIKLl5MhXJ9QuqzKXynjWcZcuaW_j9Eh5g,4564
238
+ taskflow-5.11.0.dist-info/LICENSE,sha256=0t4vVm0tDgtQn7DqH6Nmn0kGSrHeIcV0U8qzdQojTo8,10143
239
+ taskflow-5.11.0.dist-info/METADATA,sha256=oUqfps2VmBXLf_IRL43orm4JNQ74ZJ66EKP7u0kPBM0,5540
240
+ taskflow-5.11.0.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
241
+ taskflow-5.11.0.dist-info/entry_points.txt,sha256=-cLcvncQdUIhZ0pSd10UBTItZsJxlgu1uQIhkcpzh4Y,1235
242
+ taskflow-5.11.0.dist-info/pbr.json,sha256=0fWhB8bsCBvlzkItWXovHRIzyqM_1IBqFWXsWINm1SE,47
243
+ taskflow-5.11.0.dist-info/top_level.txt,sha256=PsdN41vwysesDlqHCSVVXH4mkTMdMiZFW_yHEAXiZE4,9
244
+ taskflow-5.11.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.34.2)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -22,4 +22,3 @@ mysql = taskflow.persistence.backends.impl_sqlalchemy:SQLAlchemyBackend
22
22
  postgresql = taskflow.persistence.backends.impl_sqlalchemy:SQLAlchemyBackend
23
23
  sqlite = taskflow.persistence.backends.impl_sqlalchemy:SQLAlchemyBackend
24
24
  zookeeper = taskflow.persistence.backends.impl_zookeeper:ZkBackend
25
-
@@ -0,0 +1 @@
1
+ {"git_version": "3d0a7efb", "is_release": true}
@@ -1 +0,0 @@
1
- {"git_version": "a8b48d6e", "is_release": true}