Define a context class ====================== The [ArContext](../../argaze.md/#argaze.ArFeatures.ArContext) class defines a generic class interface to handle pipeline inputs according to [Python context manager feature](https://docs.python.org/3/reference/datamodel.html#context-managers). # Write Python context file A specific [ArContext](../../argaze.md/#argaze.ArFeatures.ArContext) can be defined into a Python file. Here is an example context defined into *my_context.py* file: ```python from argaze import ArFeatures, DataFeatures class Example(ArFeatures.ArContext): @DataFeatures.PipelineStepInit def __init__(self, **kwargs): # Init ArContext class super().__init__() # Init private attribute self.__parameter = ... @property def parameter(self): """Any required parameter.""" return self.__parameter @parameter.setter def parameter(self, parameter): self.__parameter = parameter @DataFeatures.PipelineStepEnter def __enter__(self): # Start context according any required parameter ... self.parameter # Assuming that timestamp, x and y values are available ... # Process timestamped gaze position self._process_gaze_position(timestamp = timestamp, x = x, y = y) return self @DataFeatures.PipelineStepExit def __exit__(self, exception_type, exception_value, exception_traceback): # End context ... ``` !!! note "" The next chapter explains how to [load a context to connect it with a pipeline](configuration_and_connection.md).