(self)
| 1361 | |
| 1362 | @property |
| 1363 | def hlg(self): |
| 1364 | expr = self.operand("dsk") |
| 1365 | layers = expr.dsk.layers.copy() |
| 1366 | deps = expr.dsk.dependencies.copy() |
| 1367 | keys = expr.__dask_keys__() |
| 1368 | if isinstance(expr.postcompute, list): |
| 1369 | postcomputes = expr.postcompute |
| 1370 | else: |
| 1371 | postcomputes = [expr.postcompute] |
| 1372 | tasks = [ |
| 1373 | Task(self._name, func, _convert_dask_keys(keys), *extra_args) |
| 1374 | for func, extra_args in postcomputes |
| 1375 | ] |
| 1376 | from dask.highlevelgraph import HighLevelGraph, MaterializedLayer |
| 1377 | |
| 1378 | leafs = set(deps) |
| 1379 | for val in deps.values(): |
| 1380 | leafs -= val |
| 1381 | for t in tasks: |
| 1382 | layers[t.key] = MaterializedLayer({t.key: t}) |
| 1383 | deps[t.key] = leafs |
| 1384 | return HighLevelGraph(layers, dependencies=deps) |
| 1385 | |
| 1386 | def __dask_keys__(self): |
| 1387 | return [self._name] |
nothing calls this directly
no test coverage detected