code: def for_scope(self, scope, inherit_from_enclosing_scope=True):
      
  
      # First get enclosing scope's option values, if any.
      if scope == GLOBAL_SCOPE or not inherit_from_enclosing_scope:
        values = OptionValueContainer()
      else:
        values = copy.copy(self.for_scope(enclosing_scope(scope)))
  
      # Now add our values.
      flags_in_scope = self._scope_to_flags.get(scope, [])
      self._parser_hierarchy.get_parser_by_scope(scope).parse_args(flags_in_scope, values)
  
      # Check for any deprecation conditions, which are evaluated using `self._flag_matchers`.
      if inherit_from_enclosing_scope:
        self._check_and_apply_deprecations(scope, values)
  
      return values
docs: Return the option values for the given scope.
  
      Values are attributes of the returned object, e.g., options.foo.
      Computed lazily per scope.
  
      :API: public