def show_options(
        self,
        selection: str | None = None,
        cryptocurrency: str | list | None = None,
        currency: str | list | None = None,
    ) -> dict | np.ndarray:
        """
        Retrieve all options for a specified selection.

        This method returns a series containing all available options for the specified
        selection, which can be one of the following: "cryptocurrency" or "currency".

        Args:
            selection (str | None): The selection you want to see the options for.
                Choose from "cryptocurrency" or "currency".
            cryptocurrency (str | list | None): Specific cryptocurrency to filter options.
                If not provided, returns data for all cryptocurrencies.
            currency (str | list | None): Specific currency to filter options.
                If not provided, returns data for all currencies.

        Raises:
            ValueError: If the selection variable provided is not valid.
                Choose from "cryptocurrency" or "currency".

        Returns:
            dict | np.ndarray: A dictionary or array containing the available options
                for the specified selection.
        """
        selection_values = ["cryptocurrency", "currency"]

        if selection is not None and selection not in selection_values:
            raise ValueError(
                f"The selection variable provided is not valid, "
                f"choose from {', '.join(selection_values)}"
            )

        cryptos = self.select(
            cryptocurrency=cryptocurrency,
            currency=currency,
        )

        return (
            {
                column: cryptos[column].dropna().sort_values().unique()
                for column in selection_values
            }
            if selection is None
            else cryptos[selection].dropna().sort_values().unique()
        )

        Retrieve all options for a specified selection.

        This method returns a series containing all available options for the specified
        selection, which can be one of the following: "cryptocurrency" or "currency".

        Args:
            selection (str | None): The selection you want to see the options for.
                Choose from "cryptocurrency" or "currency".
            cryptocurrency (str | list | None): Specific cryptocurrency to filter options.
                If not provided, returns data for all cryptocurrencies.
            currency (str | list | None): Specific currency to filter options.
                If not provided, returns data for all currencies.

        Raises:
            ValueError: If the selection variable provided is not valid.
                Choose from "cryptocurrency" or "currency".

        Returns:
            dict | np.ndarray: A dictionary or array containing the available options
                for the specified selection.
        
financedatabase/Cryptos.py