def show_options(
        self,
        selection: str | None = None,
        country: str | list | None = None,
        sector: str | list | None = None,
        industry_group: str | list | None = None,
        industry: str | list | None = None,
        currency: str | list | None = None,
        exchange: str | list | None = None,
        market: str | list | None = None,
        market_cap: str | list | None = None,
    ) -> dict | np.ndarray:
        """
        Retrieve all options for the specified selection.

        This method returns a series containing all available options for the specified
        selection, which can be one of the following: "currency", "sector", "industry_group",
        "industry", "exchange", "market", "country", "market_cap".

        Args:
            selection (str):
                The selection you want to see the options for. Choose from:
                "currency", "sector", "industry_group", "industry", "exchange",
                "market", "country", "state", "zip_code", "market_cap".
                If None, returns all options for the specified country, sector, industry group
                and industry.
            country (str | list | None): Specific country or list of countries to filter options.
                If not provided, returns data for all countries.
            sector (str | list | None): Specific sector or list of sectors to filter options.
                If not provided, returns data for all sectors.
            industry_group (str | list | None): Specific industry group or list of industry groups
                to filter options. If not provided, returns data for all industry groups.
            industry (str | list | None): Specific industry or list of industries to filter options.
                If not provided, returns data for all industries.
            currency (str | list | None): Specific currency or list of currencies to filter options.
                If not provided, returns data for all currencies.
            exchange (str | list | None): Specific exchange or list of exchanges to filter options.
                If not provided, returns data for all exchanges.
            market (str | list | None): Specific market or list of markets to filter options.
                If not provided, returns data for all markets.
            market_cap (str | list | None): Specific market cap or list of market caps to filter options.
                If not provided, returns data for all market caps.

        Raises:
            ValueError: If the selection variable provided is not valid.
                Please check the available options using the 'show_options' method.

        Returns:
            dict | np.ndarray: A dictionary or array with all options for the specified selection.
                If selection is None, returns a dictionary with unique values for all fields.
                If selection is specified, returns an array of unique values for that field.
        """
        selection_values = [
            "currency",
            "sector",
            "industry_group",
            "industry",
            "exchange",
            "market",
            "country",
            "market_cap",
        ]

        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)}"
            )

        equities = self.select(
            country=country,
            sector=sector,
            industry_group=industry_group,
            industry=industry,
            currency=currency,
            exchange=exchange,
            market=market,
            market_cap=market_cap,
        )

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

        Retrieve all options for the specified selection.

        This method returns a series containing all available options for the specified
        selection, which can be one of the following: "currency", "sector", "industry_group",
        "industry", "exchange", "market", "country", "market_cap".

        Args:
            selection (str):
                The selection you want to see the options for. Choose from:
                "currency", "sector", "industry_group", "industry", "exchange",
                "market", "country", "state", "zip_code", "market_cap".
                If None, returns all options for the specified country, sector, industry group
                and industry.
            country (str | list | None): Specific country or list of countries to filter options.
                If not provided, returns data for all countries.
            sector (str | list | None): Specific sector or list of sectors to filter options.
                If not provided, returns data for all sectors.
            industry_group (str | list | None): Specific industry group or list of industry groups
                to filter options. If not provided, returns data for all industry groups.
            industry (str | list | None): Specific industry or list of industries to filter options.
                If not provided, returns data for all industries.
            currency (str | list | None): Specific currency or list of currencies to filter options.
                If not provided, returns data for all currencies.
            exchange (str | list | None): Specific exchange or list of exchanges to filter options.
                If not provided, returns data for all exchanges.
            market (str | list | None): Specific market or list of markets to filter options.
                If not provided, returns data for all markets.
            market_cap (str | list | None): Specific market cap or list of market caps to filter options.
                If not provided, returns data for all market caps.

        Raises:
            ValueError: If the selection variable provided is not valid.
                Please check the available options using the 'show_options' method.

        Returns:
            dict | np.ndarray: A dictionary or array with all options for the specified selection.
                If selection is None, returns a dictionary with unique values for all fields.
                If selection is specified, returns an array of unique values for that field.
        
financedatabase/Equities.py