77from os import PathLike
88from socket import socket
99from types import TracebackType
10- from typing import TYPE_CHECKING , Any , Optional , Self , TypedDict , Union , cast
10+ from typing import TYPE_CHECKING , Any , Optional , TypedDict , Union , cast
1111
1212import docker .errors
1313from docker import version
1414from docker .models .containers import ExecResult
1515from docker .types import EndpointConfig
1616from dotenv import dotenv_values
17- from typing_extensions import assert_never
17+ from typing_extensions import Self , assert_never
1818
1919from testcontainers .core .config import ConnectionMode
2020from testcontainers .core .config import testcontainers_config as c
@@ -403,14 +403,14 @@ class Reaper:
403403 :meta private:
404404 """
405405
406- _instance : Optional [Self ] = None
406+ _instance : " Optional[Reaper]" = None
407407 _container : Optional [DockerContainer ] = None
408408 _socket : Optional [socket ] = None
409409
410410 @classmethod
411- def get_instance (cls ) -> Self :
412- if not Reaper ._instance :
413- Reaper ._create_instance ()
411+ def get_instance (cls ) -> "Reaper" :
412+ if Reaper ._instance is None :
413+ Reaper ._instance = Reaper . _create_instance ()
414414
415415 return Reaper ._instance
416416
@@ -429,7 +429,7 @@ def delete_instance(cls) -> None:
429429 Reaper ._instance = None
430430
431431 @classmethod
432- def _create_instance (cls ) -> Self :
432+ def _create_instance (cls ) -> "Reaper" :
433433 logger .debug (f"Creating new Reaper for session: { SESSION_ID } " )
434434
435435 Reaper ._container = (
0 commit comments