flyte 0.2.0b8__py3-none-any.whl → 0.2.0b9__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.

Potentially problematic release.


This version of flyte might be problematic. Click here for more details.

flyte/syncify/_api.py CHANGED
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import asyncio
4
4
  import atexit
5
5
  import concurrent.futures
6
+ import functools
6
7
  import inspect
7
8
  import threading
8
9
  from typing import (
@@ -14,7 +15,6 @@ from typing import (
14
15
  Iterator,
15
16
  ParamSpec,
16
17
  Protocol,
17
- Type,
18
18
  TypeVar,
19
19
  Union,
20
20
  cast,
@@ -92,7 +92,9 @@ class _BackgroundLoop:
92
92
 
93
93
  def iterate_in_loop_sync(self, async_gen: AsyncIterator[R_co]) -> Iterator[R_co]:
94
94
  # Create an iterator that pulls items from the async generator
95
- assert self.thread.name != threading.current_thread().name, "Cannot run coroutine in the same thread"
95
+ assert self.thread.name != threading.current_thread().name, (
96
+ f"Cannot run coroutine in the same thread {self.thread.name}"
97
+ )
96
98
  while True:
97
99
  try:
98
100
  # use __anext__() and cast to Coroutine so mypy is happy
@@ -104,12 +106,19 @@ class _BackgroundLoop:
104
106
  except (StopAsyncIteration, StopIteration):
105
107
  break
106
108
 
107
- def call_in_loop_sync(self, coro: Coroutine[Any, Any, R_co]) -> R_co:
109
+ def call_in_loop_sync(self, coro: Coroutine[Any, Any, R_co]) -> R_co | Iterator[R_co]:
108
110
  """
109
111
  Run the given coroutine in the background loop and return its result.
110
112
  """
111
- future: concurrent.futures.Future[R_co] = asyncio.run_coroutine_threadsafe(coro, self.loop)
112
- return future.result()
113
+ future: concurrent.futures.Future[R_co | AsyncIterator[R_co]] = asyncio.run_coroutine_threadsafe(
114
+ coro, self.loop
115
+ )
116
+ result = future.result()
117
+ if result is not None and hasattr(result, "__aiter__"):
118
+ # If the result is an async iterator, we need to convert it to a sync iterator
119
+ return cast(Iterator[R_co], self.iterate_in_loop_sync(cast(AsyncIterator[R_co], result)))
120
+ # Otherwise, just return the result
121
+ return result
113
122
 
114
123
  async def iterate_in_loop(self, async_gen: AsyncIterator[R_co]) -> AsyncIterator[R_co]:
115
124
  """
@@ -131,7 +140,9 @@ class _BackgroundLoop:
131
140
  # Wrap the future in an asyncio Future to yield it in an async context
132
141
  aio_future: asyncio.Future[R_co] = asyncio.wrap_future(future)
133
142
  # await for the future to complete and yield its result
134
- yield await aio_future
143
+ v = await aio_future
144
+ print(f"Yielding value: {v}")
145
+ yield v
135
146
  except StopAsyncIteration:
136
147
  break
137
148
 
@@ -159,8 +170,6 @@ class _SyncWrapper:
159
170
  self,
160
171
  fn: Any,
161
172
  bg_loop: _BackgroundLoop,
162
- instance: Any = None,
163
- owner: Type | None = None,
164
173
  underlying_obj: Any = None,
165
174
  ):
166
175
  self.fn = fn
@@ -168,6 +177,12 @@ class _SyncWrapper:
168
177
  self._underlying_obj = underlying_obj
169
178
 
170
179
  def __call__(self, *args: Any, **kwargs: Any) -> Any:
180
+ if threading.current_thread().name == self._bg_loop.thread.name:
181
+ # If we are already in the background loop thread, we can call the function directly
182
+ raise AssertionError(
183
+ f"Deadlock detected: blocking call used in syncify thread {self._bg_loop.thread.name} "
184
+ f"when calling function {self.fn}, use .aio() if in an async call."
185
+ )
171
186
  # bind method if needed
172
187
  coro_fn = self.fn
173
188
 
@@ -194,7 +209,9 @@ class _SyncWrapper:
194
209
  # If we have an owner, we need to bind the method to the owner (for classmethods or staticmethods)
195
210
  fn = self._underlying_obj.__get__(None, owner)
196
211
 
197
- return _SyncWrapper(fn, bg_loop=self._bg_loop, underlying_obj=self._underlying_obj)
212
+ wrapper = _SyncWrapper(fn, bg_loop=self._bg_loop, underlying_obj=self._underlying_obj)
213
+ functools.update_wrapper(wrapper, self.fn)
214
+ return wrapper
198
215
 
199
216
  def aio(self, *args: Any, **kwargs: Any) -> Any:
200
217
  fn = self.fn
@@ -262,15 +279,26 @@ class Syncify:
262
279
 
263
280
  def __call__(self, obj):
264
281
  if isinstance(obj, classmethod):
265
- return _SyncWrapper(obj.__func__, bg_loop=self._bg_loop, underlying_obj=obj)
282
+ wrapper = _SyncWrapper(obj.__func__, bg_loop=self._bg_loop, underlying_obj=obj)
283
+ functools.update_wrapper(wrapper, obj.__func__)
284
+ return wrapper
285
+
266
286
  if isinstance(obj, staticmethod):
267
- return staticmethod(cast(Any, _SyncWrapper(obj.__func__, bg_loop=self._bg_loop)))
287
+ fn = obj.__func__
288
+ wrapper = _SyncWrapper(fn, bg_loop=self._bg_loop)
289
+ functools.update_wrapper(wrapper, fn)
290
+ return staticmethod(wrapper)
291
+
268
292
  if inspect.isasyncgenfunction(obj):
269
- # If the function is an async generator, we need to handle it differently
270
- return cast(Callable[P, Iterator[R_co]], _SyncWrapper(obj, bg_loop=self._bg_loop))
293
+ wrapper = _SyncWrapper(obj, bg_loop=self._bg_loop)
294
+ functools.update_wrapper(wrapper, obj)
295
+ return cast(Callable[P, Iterator[R_co]], wrapper)
296
+
271
297
  if inspect.iscoroutinefunction(obj):
272
- # If the function is a coroutine, we can wrap it directly
273
- return _SyncWrapper(obj, bg_loop=self._bg_loop)
298
+ wrapper = _SyncWrapper(obj, bg_loop=self._bg_loop)
299
+ functools.update_wrapper(wrapper, obj)
300
+ return wrapper
301
+
274
302
  raise TypeError(
275
303
  "Syncify can only be applied to async functions, async generators, async classmethods or staticmethods."
276
304
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flyte
3
- Version: 0.2.0b8
3
+ Version: 0.2.0b9
4
4
  Summary: Add your description here
5
5
  Author-email: Ketan Umare <kumare3@users.noreply.github.com>
6
6
  Requires-Python: >=3.10
@@ -28,6 +28,8 @@ Requires-Dist: dataclasses_json
28
28
 
29
29
  The next-generation SDK for Flyte.
30
30
 
31
+ [![Publish Python Packages and Official Images](https://github.com/unionai/unionv2/actions/workflows/publish.yml/badge.svg)](https://github.com/unionai/unionv2/actions/workflows/publish.yml)
32
+
31
33
  ## Quickstart
32
34
  1. Clone this repo and set `unionv2` to working directory.
33
35
  2. Run `uv venv`, and `source .venv/bin/activate` to create a new virtualenv
@@ -1,29 +1,30 @@
1
- flyte/__init__.py,sha256=gqNaDkBPRGcOC0BbTbgHYatkttjVJljjEKoULmswQ0Q,1392
1
+ flyte/__init__.py,sha256=-gRsCKXTW5kOSQPq-MLdJjiPDXO1bjxFssa_7_RnywU,1425
2
2
  flyte/_build.py,sha256=MkgfLAPeL56YeVrGRNZUCZgbwzlEzVP3wLbl5Qru4yk,578
3
- flyte/_context.py,sha256=pYa43ut8gp6i-Y_zOy1WW_N2IbP9Vd-zIORO11vqK1E,4995
3
+ flyte/_context.py,sha256=K0-TCt-_pHOoE5Xni87_8uIe2vCBOhfNQEtjGT4Hu4k,5239
4
4
  flyte/_deploy.py,sha256=hHZKLU3U7t1ZF_8x6LykkPu_KSDyaHL3f2WzyjLj9BQ,7723
5
5
  flyte/_doc.py,sha256=_OPCf3t_git6UT7kSJISFaWO9cfNzJhhoe6JjVdyCJo,706
6
6
  flyte/_docstring.py,sha256=SsG0Ab_YMAwy2ABJlEo3eBKlyC3kwPdnDJ1FIms-ZBQ,1127
7
7
  flyte/_environment.py,sha256=BkChtdVhWB3SwMSvetDZ-KiNBgRFlAXgq69PHT4zyG0,2942
8
- flyte/_group.py,sha256=64q2GFDp3koIkx3IV4GBeGEbu4v-GPUxTlxU_sV2fPk,743
8
+ flyte/_group.py,sha256=7o1j16sZyUmYB50mOiq1ui4TBAKhRpDqLakV8Ya1kw4,803
9
9
  flyte/_hash.py,sha256=Of_Zl_DzzzF2jp4ZsLm-3o-xJFCCJ8_GubmLI1htx78,504
10
10
  flyte/_image.py,sha256=NeBvjCdwFAVGd666ufi1q-YOvhwdTEzAeJl5YBfl0bI,29043
11
11
  flyte/_initialize.py,sha256=ihTIvoMHs67UKbtFLR_zy9M1e7OK26ywoc_yMfLYwMw,16499
12
12
  flyte/_interface.py,sha256=MP5o_qpIwfBNtAc7zo_cLSjMugsPyanuO6EgUSk4fBE,3644
13
13
  flyte/_logging.py,sha256=FQvF3W1kkFypbARcOQ7WZVXO0XJasXp8EhozF6E6-aQ,3379
14
+ flyte/_map.py,sha256=efPd8O-JKUg1OY3_MzU3KGbhsGYDVRNBwWr0ceNIXhQ,7444
14
15
  flyte/_resources.py,sha256=UOLyEVhdxolvrHhddiBbYdJuE1RkM_l7xeS9G1abe6M,7583
15
16
  flyte/_retry.py,sha256=rfLv0MvWxzPByKESTglEmjPsytEAKiIvvmzlJxXwsfE,941
16
17
  flyte/_reusable_environment.py,sha256=P4FBATVKAYcIKpdFN98sI8acPyKy8eIGx6V0kUb9YdM,1289
17
- flyte/_run.py,sha256=2ugAk4tpvSAnNAlfhx4YysSrdFoce-hZHQ6XMHYxp0A,17783
18
+ flyte/_run.py,sha256=gMcQ6km5jm34BAfubJkp7SChTACblBH4M6m8FfZQeP8,17723
18
19
  flyte/_secret.py,sha256=SqIHs6mi8hEkIIBZe3bI9jJsPt65Mt6dV5uh9_op1ME,2392
19
- flyte/_task.py,sha256=UDsnSs0lYXZe-0HvZHk4FQ5X9DGRyy1qldm7zpUEXT4,16373
20
+ flyte/_task.py,sha256=Gq34LbELz5dIc4dvYjgRXyzAnBvs8ED3iU1FWVuAFRE,18391
20
21
  flyte/_task_environment.py,sha256=J1LFH9Zz1nPhlsrc_rYny1SS3QC1b55X7tRYoTG7Vk4,6815
21
22
  flyte/_timeout.py,sha256=zx5sFcbYmjJAJbZWSGzzX-BpC9HC7Jfs35T7vVhKwkk,1571
22
23
  flyte/_tools.py,sha256=JewkQZBR_M85tS6QY8e4xXue75jbOE48nID4ZHnc9jY,632
23
24
  flyte/_trace.py,sha256=7OQtQNosIlycTwaMjdc3GW4h3T3N0bYTsY6og4clPl8,5234
24
- flyte/_version.py,sha256=vlbuxWySGV761QhtXKWRtZJy0eos4BpfR3ZShXEd4sQ,519
25
+ flyte/_version.py,sha256=6yaYOwx6af-xfDGkZHMO3lXrEv1xpPMopHstyivLlUQ,519
25
26
  flyte/errors.py,sha256=m2JUNqLC6anVW6UiDK_ihuA06q_Hkw1mIUMDskb2OW8,4289
26
- flyte/models.py,sha256=GTRuR6GXc0RAbLmPEnnH54oRF7__2TNFhmYjFoYMjZA,12660
27
+ flyte/models.py,sha256=8ZqWar7n-u9ZYyxct88T_0-41LXjSjstoQvDfiDjp64,12841
27
28
  flyte/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
29
  flyte/_bin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
30
  flyte/_bin/runtime.py,sha256=Q1vajoQ913KUfCQSP0u8Qoj-AYgfvU2i2wI19ydqnDw,4849
@@ -37,13 +38,13 @@ flyte/_code_bundle/_packaging.py,sha256=_wEozcQTYgqvAAaKQYna9ptvShIMlXk3vEdccwAO
37
38
  flyte/_code_bundle/_utils.py,sha256=b0s3ZVKSRwaa_2CMTCqt2iRrUvTTW3FmlyqCD9k5BS0,12028
38
39
  flyte/_code_bundle/bundle.py,sha256=8T0gcXck6dmg-8L2-0G3B2iNjC-Xwydu806iyKneMMY,8789
39
40
  flyte/_internal/__init__.py,sha256=vjXgGzAAjy609YFkAy9_RVPuUlslsHSJBXCLNTVnqOY,136
40
- flyte/_internal/controllers/__init__.py,sha256=wPugf6_9BUVqwCXClnmScwyKVaGYIo0PTd-sdYjxVWA,3827
41
- flyte/_internal/controllers/_local_controller.py,sha256=fT-mFBs05vxHf43U24AKGJg5NuSTO5F8LBRcZAfgX2g,4798
41
+ flyte/_internal/controllers/__init__.py,sha256=5CBnS9lb1VFMzZuRXUiaPhlN3G9qh7Aq9kTwxW5hsRw,4301
42
+ flyte/_internal/controllers/_local_controller.py,sha256=Nsqy1Grrw6JggKwiQn7lsChjL2gT5f-bHyaqrT2vjnA,7111
42
43
  flyte/_internal/controllers/_trace.py,sha256=Ga2b65sn9q2IoOwHBZV2inMYyO6-CSDwzN7E3pDxsEI,1126
43
44
  flyte/_internal/controllers/remote/__init__.py,sha256=9_azH1eHLqY6VULpDugXi7Kf1kK1ODqEnsQ_3wM6IqU,1919
44
45
  flyte/_internal/controllers/remote/_action.py,sha256=w6vE1vPz1BwxvwfotDWjTNbDXfGEPrRBA8N3UVQ6P0w,4905
45
46
  flyte/_internal/controllers/remote/_client.py,sha256=HPbzbfaWZVv5wpOvKNtFXR6COiZDwd1cUJQqi60A7oU,1421
46
- flyte/_internal/controllers/remote/_controller.py,sha256=5jhm6UG3DLCUiwQMkVGeIF4pIx_cZkR9it6tLMK7DRw,17477
47
+ flyte/_internal/controllers/remote/_controller.py,sha256=IbCRMTbQrNz96zjSZo2KHDmB0nW3dwT8VlWLu4zElGQ,19462
47
48
  flyte/_internal/controllers/remote/_core.py,sha256=2dka1rDnA8Ui_qhfE1ymZuN8E2BYQPn123h_eMixSiM,18091
48
49
  flyte/_internal/controllers/remote/_informer.py,sha256=JC35aHbEdwBN7cwDKbQj6koPUypTapYyK0wKxOBRBCo,14191
49
50
  flyte/_internal/controllers/remote/_service_protocol.py,sha256=B9qbIg6DiGeac-iSccLmX_AL2xUgX4ezNUOiAbSy4V0,1357
@@ -61,7 +62,7 @@ flyte/_internal/runtime/entrypoints.py,sha256=Kyi19i7LYk7YM3ZV_Y4FXGt5Pc1tIftGkI
61
62
  flyte/_internal/runtime/io.py,sha256=Lgdy4iPjlKjUO-V_AkoPZff6lywaFjZUG-PErRukmx4,4248
62
63
  flyte/_internal/runtime/resources_serde.py,sha256=tvMMv3l6cZEt_cfs7zVE_Kqs5qh-_r7fsEPxb6xMxMk,4812
63
64
  flyte/_internal/runtime/task_serde.py,sha256=985eItmPsnA17CQdRXknjVDBK8wzOx4956AUuVjLsM8,9772
64
- flyte/_internal/runtime/taskrunner.py,sha256=2lxA6QiDGlNPXnPkzP0bUr6_hWO_QWueHr1TagfgQ7Y,7243
65
+ flyte/_internal/runtime/taskrunner.py,sha256=74rnpABxEjqA7ZWxGZ1bXNU3rRT8Ba2utkuKXVpTwY4,7321
65
66
  flyte/_internal/runtime/types_serde.py,sha256=EjRh9Yypx9-20XXQprtNgp766LeQVRoYWtY6XPGMZQg,1813
66
67
  flyte/_protos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
68
  flyte/_protos/common/authorization_pb2.py,sha256=6G7CAfq_Vq1qrm8JFkAnMAj0AaEipiX7MkjA7nk91-M,6707
@@ -131,20 +132,20 @@ flyte/_utils/asyn.py,sha256=KeJKarXNIyD16g6oPM0T9cH7JDmh1KY7JLbwo7i0IlQ,3673
131
132
  flyte/_utils/async_cache.py,sha256=JtZJmWO62OowJ0QFNl6wryWqh-kuDi76aAASMie87QY,4596
132
133
  flyte/_utils/coro_management.py,sha256=_JTt9x9fOc_1OSe03DSheYoKOvlonBB_4WNCS9XSaoU,698
133
134
  flyte/_utils/file_handling.py,sha256=iU4TxW--fCho_Eg5xTMODn96P03SxzF-V-5f-7bZAZY,2233
134
- flyte/_utils/helpers.py,sha256=Ntrs1WilJS7a4oLmcIPLXMi0cuzRDiCr_wwgtpV30uk,3953
135
+ flyte/_utils/helpers.py,sha256=45ZC2OSNKS66DkTvif8W8x7MH4KxluvAyn0a92mKRqM,4366
135
136
  flyte/_utils/lazy_module.py,sha256=fvXPjvZLzCfcI8Vzs4pKedUDdY0U_RQ1ZVrp9b8qBQY,1994
136
137
  flyte/_utils/uv_script_parser.py,sha256=PxqD8lSMi6xv0uDd1s8LKB2IPZr4ttZJCUweqlyMTKk,1483
137
- flyte/cli/__init__.py,sha256=Hx_mrERToVkrvORPB56ZnUED86T4S50ac1nwLQfvsgo,278
138
- flyte/cli/_abort.py,sha256=WkXmjAOcrBU9NXXndcwF7YW7QcUTJzyUrvIRW0fjpSE,580
139
- flyte/cli/_common.py,sha256=KSn6MxJng_WJDrA20Wl_RKWiCcqZ7ZS68UFlqYyR7xs,10771
140
- flyte/cli/_create.py,sha256=bB_kkM54LLWVBaAy8LKPJGfLjC3NSIDELB8niQlG50c,3667
141
- flyte/cli/_delete.py,sha256=WnHn9m_1b3nAXaD772bOirsN73ICUi-BVzjFP8s_Hyg,581
142
- flyte/cli/_deploy.py,sha256=zCHvy88UPYz_iXXG7b9Pi61GFdB52-niYw2pVIum2b4,4464
143
- flyte/cli/_gen.py,sha256=onJIXj2PiJxxHCOFo5A9LNwjt-rRo-a_SojdtuvQ5is,5302
144
- flyte/cli/_get.py,sha256=f5e8h6P6LBBPNZKHEx8aYeoym_Bih7eIsxqiAqAHtso,9641
138
+ flyte/cli/__init__.py,sha256=M02O-UGqQlA8JJ_jyWRiwQhTNc5CJJ7x9J7fNxTxBT0,52
139
+ flyte/cli/_abort.py,sha256=lTftDmVXEIrFz1XAASCqWbXQEQDqRdTCJqY7izk2USI,593
140
+ flyte/cli/_common.py,sha256=UkhKgjoti-5iLGczUkcwN5QmhkWk5uFsoL9C2gHoiCo,10766
141
+ flyte/cli/_create.py,sha256=fPyme_o8-Qf1Cy7DSspXgwYcBDO4G8nPmoUpSDprfz4,4087
142
+ flyte/cli/_delete.py,sha256=qq5A9d6vXdYvYz-SECXiC6LU5rAzahNTZKiKacOtcZ4,545
143
+ flyte/cli/_deploy.py,sha256=owGe_RVwC73p3dOPWYSo442OVuZyagF8LKTvC57xubQ,4466
144
+ flyte/cli/_gen.py,sha256=vlE5l8UR1zz4RSdaRyUfYFvGR0TLxGcTYcP4dhA3Pvg,5458
145
+ flyte/cli/_get.py,sha256=Pl9nHVHzRQT8IG3k_VAMJ2Xvaq9URsovm96op_153os,9843
145
146
  flyte/cli/_params.py,sha256=X3GpuftXmtfIsYQ7vBilD4kmlkXTc7_AxpaxohRjSuY,19458
146
147
  flyte/cli/_run.py,sha256=zRu4DTO__BVsLgpSLUbYR1Twvzc_2zivUhcviymCRf0,7884
147
- flyte/cli/main.py,sha256=PhH8RgpNFP9owpjN8purGvM41qlm9VcR2QF2oLi_6FA,4480
148
+ flyte/cli/main.py,sha256=V_gXj3YDr43igWQtugcPt8CbJincoTE9g1uG52JdHgk,4449
148
149
  flyte/config/__init__.py,sha256=MiwEYK5Iv7MRR22z61nzbsbvZ9Q6MdmAU_g9If1Pmb8,144
149
150
  flyte/config/_config.py,sha256=QE3T0W8xOULjJaqDMdMF90f9gFVjGR6h8QPOLsyqjYw,9831
150
151
  flyte/config/_internal.py,sha256=Bj0uzn3PYgxKbzM-q2GKXxp7Y6cyzhPzUB-Y2i6cQKo,2836
@@ -199,15 +200,15 @@ flyte/storage/_remote_fs.py,sha256=kM_iszbccjVD5VtVdgfkl1FHS8NPnY__JOo_CPQUE4c,1
199
200
  flyte/storage/_storage.py,sha256=mBy7MKII2M1UTVm_EUUDwVb7uT1_AOPzQr2wCJ-fgW0,9873
200
201
  flyte/storage/_utils.py,sha256=8oLCM-7D7JyJhzUi1_Q1NFx8GBUPRfou0T_5tPBmPbE,309
201
202
  flyte/syncify/__init__.py,sha256=WgTk-v-SntULnI55CsVy71cxGJ9Q6pxpTrhbPFuouJ0,1974
202
- flyte/syncify/_api.py,sha256=Jek0sIpu6RyOCAYQZFxuW-xv_lpr6DBOjs2kGA8tfvc,9815
203
+ flyte/syncify/_api.py,sha256=x37A7OtUS0WVUB1wkoN0i5iu6HQPDYlPc1uwzVFOrfM,10927
203
204
  flyte/types/__init__.py,sha256=xMIYOolT3Vq0qXy7unw90IVdYztdMDpKg0oG0XAPC9o,364
204
205
  flyte/types/_interface.py,sha256=mY7mb8v2hJPGk7AU99gdOWl4_jArA1VFtjYGlE31SK0,953
205
206
  flyte/types/_renderer.py,sha256=ygcCo5l60lHufyQISFddZfWwLlQ8kJAKxUT_XnR_6dY,4818
206
207
  flyte/types/_string_literals.py,sha256=NlG1xV8RSA-sZ-n-IFQCAsdB6jXJOAKkHWtnopxVVDk,4231
207
208
  flyte/types/_type_engine.py,sha256=QxyoDWRG_whfLCz88YqEVVoTTnca0FZv9eHeLLT0_-s,93645
208
209
  flyte/types/_utils.py,sha256=pbts9E1_2LTdLygAY0UYTLYJ8AsN3BZyviSXvrtcutc,2626
209
- flyte-0.2.0b8.dist-info/METADATA,sha256=143TeXr4H7BtrVp2r0GwVQ0jviOe8S5fXn3t1s439wY,4636
210
- flyte-0.2.0b8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
211
- flyte-0.2.0b8.dist-info/entry_points.txt,sha256=MIq2z5dBurdCJfpXfMKzgBv7sJOakKRYxr8G0cMiTrg,75
212
- flyte-0.2.0b8.dist-info/top_level.txt,sha256=7dkyFbikvA12LEZEqawx8oDG1CMod6hTliPj7iWzgYo,6
213
- flyte-0.2.0b8.dist-info/RECORD,,
210
+ flyte-0.2.0b9.dist-info/METADATA,sha256=4iN_NmCj__wWn6iVgYBAaYotKg6posAg0V34TzisufQ,4828
211
+ flyte-0.2.0b9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
212
+ flyte-0.2.0b9.dist-info/entry_points.txt,sha256=MIq2z5dBurdCJfpXfMKzgBv7sJOakKRYxr8G0cMiTrg,75
213
+ flyte-0.2.0b9.dist-info/top_level.txt,sha256=7dkyFbikvA12LEZEqawx8oDG1CMod6hTliPj7iWzgYo,6
214
+ flyte-0.2.0b9.dist-info/RECORD,,