class_docstr: A settings object configures options including verbosity, runtime controls,
  persistence, determinism, and more.
  
  Default values are picked up from the settings.default object and
  changes made there will be picked up in newly created settings.
class_docstr_tok: ["A","settings","object","configures","options","including","verbosity",",","runtime","controls",",","persistence",",","determinism",",","and","more",".","Default","values","are","picked","up","from","the","settings.default","object","and","changes","made","there","will","be","picked","up","in","newly","created","settings","."]
docstr: Make the settings object (self) an attribute of the test.
  
  The settings are later discovered by looking them up on the test itself.
code: def __call__(self, test: T) -> T:
      """Make the settings object (self) an attribute of the test.
  
      The settings are later discovered by looking them up on the test itself.
      """
      # Aliasing as Any avoids mypy errors (attr-defined) when accessing and
      # setting custom attributes on the decorated function or class.
      _test: Any = test
  
      # Using the alias here avoids a mypy error (return-value) later when
      # ``test`` is returned, because this check results in type refinement.
      if not callable(_test):
          raise InvalidArgument(
              "settings objects can be called as a decorator with @given, "
              f"but decorated {test=} is not callable."
          )
      if inspect.isclass(test):
          from hypothesis.stateful import RuleBasedStateMachine
  
          if issubclass(_test, RuleBasedStateMachine):
              attr_name = "_hypothesis_internal_settings_applied"
              if getattr(test, attr_name, False):
                  raise InvalidArgument(
                      "Applying the @settings decorator twice would "
                      "overwrite the first version; merge their arguments "
                      "instead."
                  )
              setattr(test, attr_name, True)
              _test.TestCase.settings = self
              return test  # type: ignore
          else:
              raise InvalidArgument(
                  "@settings(...) can only be used as a decorator on "
                  "functions, or on subclasses of RuleBasedStateMachine."
              )
      if hasattr(_test, "_hypothesis_internal_settings_applied"):
          # Can't use _hypothesis_internal_use_settings as an indicator that
          # @settings was applied, because @given also assigns that attribute.
          descr = get_pretty_function_description(test)
          raise InvalidArgument(
              f"{descr} has already been decorated with a settings object.\n"
              f"    Previous:  {_test._hypothesis_internal_use_settings!r}\n"
              f"    This:  {self!r}"
          )
  
      _test._hypothesis_internal_use_settings = self
      _test._hypothesis_internal_settings_applied = True
      return test
  
imports: import contextlib
  import datetime
  import inspect
  import os
  import warnings
  from enum import Enum, EnumMeta, IntEnum, unique
  from typing import TYPE_CHECKING, Any, ClassVar, Collection, Dict, List, Optional, TypeVar, Union
  import attr
  from hypothesis.errors import HypothesisDeprecationWarning, InvalidArgument, InvalidState
  from hypothesis.internal.reflection import get_pretty_function_description
  from hypothesis.internal.validation import check_type, try_convert
  from hypothesis.utils.conventions import not_set
  from hypothesis.utils.dynamicvariables import DynamicVariable
label_desc: Use image node_id 3 for calling the settings obj's underlying member method code with example usage: obj.__call__(test) and returns: test, test