Source code for dagster._core.storage.mem_io_manager
from typing import Dict, Tuple
from dagster._core.execution.context.input import InputContext
from dagster._core.execution.context.output import OutputContext
from dagster._core.storage.io_manager import IOManager, io_manager
class InMemoryIOManager(IOManager):
def __init__(self):
self.values: Dict[Tuple[object, ...], object] = {}
def handle_output(self, context: OutputContext, obj: object):
keys = tuple(context.get_identifier())
self.values[keys] = obj
def load_input(self, context: InputContext) -> object:
keys = tuple(context.get_identifier())
return self.values[keys]
[docs]@io_manager(description="Built-in IO manager that stores and retrieves values in memory.")
def mem_io_manager(_) -> InMemoryIOManager:
"""Built-in IO manager that stores and retrieves values in memory."""
return InMemoryIOManager()