dex-python-sdk 0.2.7__tar.gz → 0.2.8__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 (61) hide show
  1. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/PKG-INFO +5 -5
  2. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/README.md +4 -4
  3. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/stream.py +5 -17
  4. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/pyproject.toml +1 -1
  5. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/LEGACY_NOTICES.md +0 -0
  6. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/LICENSE +0 -0
  7. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/__init__.py +0 -0
  8. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_async_value_hydrator.py +0 -0
  9. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_async_worker_dispatcher.py +0 -0
  10. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_async_worker_service.py +0 -0
  11. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_grpc_errors.py +0 -0
  12. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_invocation_context.py +0 -0
  13. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_native.pyi +0 -0
  14. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_utils.py +0 -0
  15. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_value_hydrator.py +0 -0
  16. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_value_mapper.py +0 -0
  17. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_worker_dispatcher.py +0 -0
  18. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/_worker_service.py +0 -0
  19. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/async_client.py +0 -0
  20. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/async_worker.py +0 -0
  21. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/attribute.py +0 -0
  22. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/blob_cache.py +0 -0
  23. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/channel.py +0 -0
  24. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/client.py +0 -0
  25. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/client_options.py +0 -0
  26. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/codec.py +0 -0
  27. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/condition.py +0 -0
  28. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/context.py +0 -0
  29. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/dexpb/__init__.py +0 -0
  30. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/dexpb/dex_pb2.py +0 -0
  31. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/dexpb/dex_pb2.pyi +0 -0
  32. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/dexpb/dex_pb2_grpc.py +0 -0
  33. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/flow.py +0 -0
  34. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/flow_config.py +0 -0
  35. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/flow_info.py +0 -0
  36. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/flow_options.py +0 -0
  37. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/flow_result.py +0 -0
  38. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/py.typed +0 -0
  39. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/runtime_errors.py +0 -0
  40. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/step.py +0 -0
  41. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/step_execution.py +0 -0
  42. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/subflow.py +0 -0
  43. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/timer.py +0 -0
  44. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/wait.py +0 -0
  45. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/worker.py +0 -0
  46. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/dex/worker_options.py +0 -0
  47. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/Cargo.lock +0 -0
  48. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/Cargo.toml +0 -0
  49. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache/Cargo.toml +0 -0
  50. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache/LICENSE +0 -0
  51. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache/src/config.rs +0 -0
  52. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache/src/entry.rs +0 -0
  53. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache/src/error.rs +0 -0
  54. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache/src/format.rs +0 -0
  55. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache/src/lib.rs +0 -0
  56. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache/src/policy.rs +0 -0
  57. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache/src/store.rs +0 -0
  58. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache/tests/blob_cache_integration.rs +0 -0
  59. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache-python/Cargo.toml +0 -0
  60. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache-python/LICENSE +0 -0
  61. {dex_python_sdk-0.2.7 → dex_python_sdk-0.2.8}/sdk-rust/crates/dex-blob-cache-python/src/lib.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dex-python-sdk
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Requires-Dist: grpcio>=1.83.0
5
5
  Requires-Dist: grpcio-status>=1.83.0
6
6
  Requires-Dist: protobuf>=7.35.1
@@ -179,10 +179,10 @@ async def execute(
179
179
  return dex.graceful_complete(input)
180
180
  ```
181
181
 
182
- The async buffered writer has synchronous `write` and `flush` methods, so
183
- `writer.write` can be passed directly as an LLM delta callback. It flushes after
184
- one second, at a soft 16 KiB UTF-8 threshold, or before the final result or
185
- error. It concatenates chunks exactly and ignores empty chunks.
182
+ The async buffered writer has a synchronous `write` method, so `writer.write`
183
+ can be passed directly as an LLM delta callback. It flushes after one second, at
184
+ a soft 16 KiB UTF-8 threshold, or before the final result or error. It
185
+ concatenates chunks exactly and ignores empty chunks.
186
186
 
187
187
  A synchronous generator uses the cooperative form because only yielded
188
188
  `StepOutput` values can reach gRPC:
@@ -163,10 +163,10 @@ async def execute(
163
163
  return dex.graceful_complete(input)
164
164
  ```
165
165
 
166
- The async buffered writer has synchronous `write` and `flush` methods, so
167
- `writer.write` can be passed directly as an LLM delta callback. It flushes after
168
- one second, at a soft 16 KiB UTF-8 threshold, or before the final result or
169
- error. It concatenates chunks exactly and ignores empty chunks.
166
+ The async buffered writer has a synchronous `write` method, so `writer.write`
167
+ can be passed directly as an LLM delta callback. It flushes after one second, at
168
+ a soft 16 KiB UTF-8 threshold, or before the final result or error. It
169
+ concatenates chunks exactly and ignores empty chunks.
170
170
 
171
171
  A synchronous generator uses the cooperative form because only yielded
172
172
  `StepOutput` values can reach gRPC:
@@ -183,9 +183,9 @@ class StreamMessage(Generic[ValueT]):
183
183
  class AsyncBufferedTextStream:
184
184
  """Batch text chunks for an asynchronous Step invocation.
185
185
 
186
- Create this writer with :meth:`Stream.buffered_text`. ``write`` and ``flush`` are synchronous
187
- and return after local buffering or Worker-output enqueueing. AsyncWorker automatically stops
188
- its timer and flushes remaining text before the invocation result or error.
186
+ Create this writer with :meth:`Stream.buffered_text`. ``write`` is synchronous and returns
187
+ after local buffering or Worker-output enqueueing. AsyncWorker automatically stops its timer
188
+ and flushes remaining text before the invocation result or error.
189
189
  """
190
190
 
191
191
  def __init__(
@@ -240,20 +240,8 @@ class AsyncBufferedTextStream:
240
240
  if was_empty:
241
241
  self._start_timer()
242
242
  if self._buffered_bytes >= self._max_buffered_bytes:
243
- self.flush()
244
-
245
- def flush(self) -> None:
246
- """Immediately enqueue the current non-empty batch.
247
-
248
- A later write starts a new timer. Stream Store failures remain unacknowledged.
249
-
250
- Raises:
251
- BaseException: A timer or Worker-output failure.
252
- ValueError: If the invocation already finished.
253
- """
254
- self._require_open()
255
- self._stop_timer()
256
- self._flush_buffer()
243
+ self._stop_timer()
244
+ self._flush_buffer()
257
245
 
258
246
  def _finalize_step_output(self) -> None:
259
247
  if self._is_closed:
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "dex-python-sdk"
3
3
  # Publish uses tag sdk-python/v*; CI stamps this for release builds.
4
- version = "0.2.7"
4
+ version = "0.2.8"
5
5
  description = "Python SDK for the Dex workflow engine"
6
6
  authors = [{name = "Super Durable"}]
7
7
  readme = "README.md"
File without changes