def parameters(self, **kwargs: Any) -> Self:
        """Provide query parameters as keyword arguments. The keyword needs to match the name
        of the method, and the value should either be the value or a tuple of values.

        ???+ Example
            ```python
            query = DataCollections.parameters(
                short_name="AST_L1T",
                temporal=("2015-01","2015-02"),
                point=(42.5, -101.25)
            )
            ```

        Returns:
            self

        Raises:
            ValueError: The name of a keyword argument is not the name of a method.
            TypeError: The value of a keyword argument is not an argument or tuple
                of arguments matching the number and type(s) of the method's parameters.
        """
        methods = dict(getmembers(self, predicate=ismethod))

        for key, val in kwargs.items():
            # verify the key matches one of our methods
            if key not in methods:
                raise ValueError("Unknown key {}".format(key))

            # call the method
            if isinstance(val, tuple):
                methods[key](*val)
            else:
                methods[key](val)

        return self
Provide query parameters as keyword arguments. The keyword needs to match the name
        of the method, and the value should either be the value or a tuple of values.

        ???+ Example
            ```python
            query = DataCollections.parameters(
                short_name="AST_L1T",
                temporal=("2015-01","2015-02"),
                point=(42.5, -101.25)
            )
            ```

        Returns:
            self

        Raises:
            ValueError: The name of a keyword argument is not the name of a method.
            TypeError: The value of a keyword argument is not an argument or tuple
                of arguments matching the number and type(s) of the method's parameters.
        
earthaccess/search.py