          The datatype to create the buffer as. Default: `"uint8"`
      """
      def __init__(self,
                   batch_size: int,
                   image_shape: Tuple[int, int, int],
                   buffer_size: int = 2,
                   dtype: str = "uint8") -> None:
          logger.debug("Initializing: %s (batch_size: %s, image_shape: %s, buffer_size: %s, "
                       "dtype: %s", self.__class__.__name__, batch_size, image_shape, buffer_size,
                       dtype)
 
</s> remove                  side: Literal["a", "b", "both"],
                 input_shape: T.Tuple[int, int, int],
 </s> add                  side: T.Literal["a", "b", "both"],
                 input_shape: tuple[int, int, int], </s> remove                  config: T.Dict[str, ConfigValueType]) -> None:
 </s> add                  config: dict[str, ConfigValueType]) -> None: </s> remove                  images: T.Dict[Literal["a", "b"], T.List[str]],
 </s> add                  images: dict[T.Literal["a", "b"], list[str]], </s> remove                  kernel_size: T.Union[int, T.Tuple[int, int]] = 5,
                 strides: T.Union[int, T.Tuple[int, int]] = 2, **kwargs) -> None:
 </s> add                  kernel_size: int | tuple[int, int] = 5,
                 strides: int | tuple[int, int] = 2, **kwargs) -> None: </s> remove                  config: Dict[str, "ConfigValueType"]) -> None:
 </s> add                  config: dict[str, ConfigValueType]) -> None:
                 image_shape: tuple[int, int, int],
          The datatype to create the buffer as. Default: `"uint8"`
      """
      def __init__(self,
                   batch_size: int,
                 image_shape: tuple[int, int, int],
                   buffer_size: int = 2,
                   dtype: str = "uint8") -> None:
          logger.debug("Initializing: %s (batch_size: %s, image_shape: %s, buffer_size: %s, "
                       "dtype: %s", self.__class__.__name__, batch_size, image_shape, buffer_size,
                       dtype)
keep keep keep keep replace keep keep keep keep keep
 Rebase code (#1326)

* Remove tensorflow_probability requirement

* setup.py - fix progress bars

* requirements.txt: Remove pre python 3.9 packages

* update apple requirements.txt

* update INSTALL.md

* Remove python<3.9 code

* setup.py - fix Windows Installer

* typing: python3.9 compliant

* Update pytest and readthedocs python versions

* typing fixes

* Python Version updates
  - Reduce max version to 3.10
  - Default to 3.10 in installers
  - Remove incompatible 3.11 tests

* Update dependencies

* Downgrade imageio dep for Windows

* typing: merge optional unions and fixes

* Updates
  - min python version 3.10
  - typing to python 3.10 spec
  - remove pre-tf2.10 code
  - Add conda tests

* train: re-enable optimizer saving

* Update dockerfiles

* Update setup.py
  - Apple Conda deps to setup.py
  - Better Cuda + dependency handling

* bugfix: Patch logging to prevent Autograph errors

* Update dockerfiles

* Setup.py - Setup.py - stdout to utf-8

* Add more OSes to github Actions

* suppress mac-os end to end test 
lib/training/cache.py