Суть контекста — выполнение действий при входе и выходе из контекста, а так же передача параметров между компонентами, имеющими один контекст.
contextlib
Создание with-совместимых функций —
Создание своего ContextManager
Определяет два абстрактных класса — AbstractContextManager и AbstractAsyncContextManager. Они обязывают реализовать функции object.__enter__() и object.__exit__() (или их асинхронные аналоги object.__aenter__() и object.__aexit__()).