computation-graph 59__tar.gz → 61__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 (35) hide show
  1. {computation_graph-59 → computation_graph-61}/PKG-INFO +1 -1
  2. {computation_graph-59 → computation_graph-61}/computation_graph/graph_test.py +32 -0
  3. {computation_graph-59 → computation_graph-61}/computation_graph/run.py +10 -2
  4. {computation_graph-59 → computation_graph-61}/computation_graph.egg-info/PKG-INFO +1 -1
  5. {computation_graph-59 → computation_graph-61}/setup.py +1 -1
  6. {computation_graph-59 → computation_graph-61}/LICENSE.md +0 -0
  7. {computation_graph-59 → computation_graph-61}/README.md +0 -0
  8. {computation_graph-59 → computation_graph-61}/computation_graph/__init__.py +0 -0
  9. {computation_graph-59 → computation_graph-61}/computation_graph/base_types.py +0 -0
  10. {computation_graph-59 → computation_graph-61}/computation_graph/composers/__init__.py +0 -0
  11. {computation_graph-59 → computation_graph-61}/computation_graph/composers/composers_test.py +0 -0
  12. {computation_graph-59 → computation_graph-61}/computation_graph/composers/condition.py +0 -0
  13. {computation_graph-59 → computation_graph-61}/computation_graph/composers/condition_test.py +0 -0
  14. {computation_graph-59 → computation_graph-61}/computation_graph/composers/debug.py +0 -0
  15. {computation_graph-59 → computation_graph-61}/computation_graph/composers/duplication.py +0 -0
  16. {computation_graph-59 → computation_graph-61}/computation_graph/composers/lift.py +0 -0
  17. {computation_graph-59 → computation_graph-61}/computation_graph/composers/logic.py +0 -0
  18. {computation_graph-59 → computation_graph-61}/computation_graph/composers/memory.py +0 -0
  19. {computation_graph-59 → computation_graph-61}/computation_graph/composers/memory_test.py +0 -0
  20. {computation_graph-59 → computation_graph-61}/computation_graph/graph.py +0 -0
  21. {computation_graph-59 → computation_graph-61}/computation_graph/graph_runners.py +0 -0
  22. {computation_graph-59 → computation_graph-61}/computation_graph/legacy.py +0 -0
  23. {computation_graph-59 → computation_graph-61}/computation_graph/signature.py +0 -0
  24. {computation_graph-59 → computation_graph-61}/computation_graph/trace/__init__.py +0 -0
  25. {computation_graph-59 → computation_graph-61}/computation_graph/trace/ascii.py +0 -0
  26. {computation_graph-59 → computation_graph-61}/computation_graph/trace/graphviz.py +0 -0
  27. {computation_graph-59 → computation_graph-61}/computation_graph/trace/graphviz_test.py +0 -0
  28. {computation_graph-59 → computation_graph-61}/computation_graph/trace/mermaid.py +0 -0
  29. {computation_graph-59 → computation_graph-61}/computation_graph/trace/trace_utils.py +0 -0
  30. {computation_graph-59 → computation_graph-61}/computation_graph.egg-info/SOURCES.txt +0 -0
  31. {computation_graph-59 → computation_graph-61}/computation_graph.egg-info/dependency_links.txt +0 -0
  32. {computation_graph-59 → computation_graph-61}/computation_graph.egg-info/requires.txt +0 -0
  33. {computation_graph-59 → computation_graph-61}/computation_graph.egg-info/top_level.txt +0 -0
  34. {computation_graph-59 → computation_graph-61}/pyproject.toml +0 -0
  35. {computation_graph-59 → computation_graph-61}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: computation-graph
3
- Version: 59
3
+ Version: 61
4
4
  Requires-Python: >=3
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE.md
@@ -233,6 +233,38 @@ def test_first():
233
233
  )
234
234
 
235
235
 
236
+ async def test_raise_handled_from_async():
237
+ async def raises():
238
+ raise base_types.SkipComputationError
239
+
240
+ assert (
241
+ await graph_runners.nullary_infer_sink(
242
+ composers.make_first(raises, lambda: 1, lambda: 2)
243
+ )
244
+ == 1
245
+ )
246
+
247
+
248
+ async def test_no_result_for_node_that_raised_handled_exception():
249
+ async def raises(x):
250
+ raise base_types.SkipComputationError
251
+
252
+ def sink(x):
253
+ return x
254
+
255
+ @graph.make_computation_node
256
+ def source():
257
+ return 4
258
+
259
+ res = await run.to_callable_strict(composers.compose_left(source, raises, sink))(
260
+ {}, {}
261
+ )
262
+
263
+ assert res[source] == 4
264
+ assert raises not in res
265
+ assert sink not in res
266
+
267
+
236
268
  def test_raise_unhandled_exception():
237
269
  class MyExceptionError(Exception):
238
270
  ...
@@ -242,9 +242,17 @@ def _to_callable_with_side_effect_for_single_and_multiple(
242
242
  await asyncio.gather(*async_results[1], return_exceptions=True),
243
243
  ):
244
244
  e = node_to_task_or_result[node].exception()
245
- if e:
245
+ if not e:
246
+ all_results[node] = node_result
247
+ elif not isinstance(
248
+ e,
249
+ (
250
+ _DepNotFoundError,
251
+ base_types.SkipComputationError,
252
+ *handled_exceptions,
253
+ ),
254
+ ):
246
255
  raise e from e
247
- all_results[node] = node_result
248
256
 
249
257
  return all_node_side_effects_on_edges(all_results)
250
258
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: computation-graph
3
- Version: 59
3
+ Version: 61
4
4
  Requires-Python: >=3
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE.md
@@ -7,7 +7,7 @@ with open("README.md", "r") as fh:
7
7
  setuptools.setup(
8
8
  name="computation-graph",
9
9
  python_requires=">=3",
10
- version="59",
10
+ version="61",
11
11
  long_description=_LONG_DESCRIPTION,
12
12
  long_description_content_type="text/markdown",
13
13
  packages=setuptools.find_namespace_packages(),
File without changes
File without changes