          logger.debug("Add slider control to Options Frame: (widget: '%s', dtype: %s, "
                       "rounding: %s, min_max: %s)", self.option.name, self.option.dtype,
                       self.option.rounding, self.option.min_max)
          validate = self.slider_check_int if self.option.dtype == int else self.slider_check_float
          vcmd = (self.frame.register(validate))
          tbox = tk.Entry(self.frame,
                          width=8,
                          textvariable=self.option.tk_var,
                          justify=tk.RIGHT,
                          font=get_config().default_font,
 
</s> remove                  threshold: T.Optional[T.List[float]] = None,
 </s> add                  threshold: list[float] | None = None, </s> remove                 dtype: Union[Type[int], Type[float]] = int
 </s> add                 dtype: type[int] | type[float] = int </s> remove                 min_max: Tuple[int, Union[int, float]] = (25, 2500)
 </s> add                 min_max: tuple[int, int | float] = (25, 2500) </s> remove                 default: Union[int, float] = 500
 </s> add                 default: int | float = 500 </s> remove                  pixels_per_degree: Optional[float] = None,
                 color_order: Literal["bgr", "rgb"] = "bgr") -> None:
 </s> add                  pixels_per_degree: float | None = None,
                 color_order: T.Literal["bgr", "rgb"] = "bgr") -> None:
        vcmd = self.frame.register(validate)
          logger.debug("Add slider control to Options Frame: (widget: '%s', dtype: %s, "
                       "rounding: %s, min_max: %s)", self.option.name, self.option.dtype,
                       self.option.rounding, self.option.min_max)
          validate = self.slider_check_int if self.option.dtype == int else self.slider_check_float
        vcmd = self.frame.register(validate)
          tbox = tk.Entry(self.frame,
                          width=8,
                          textvariable=self.option.tk_var,
                          justify=tk.RIGHT,
                          font=get_config().default_font,
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/gui/control_helper.py