def get_option(self, key, subkey, in_path_none=False):
key, subkey = _lower_keys(key, subkey)<EOL>_entry_must_exist(self.gc, key, subkey)<EOL>df = self.gc[(self.gc["<STR_LIT>"] == key) & (self.gc["<STR_LIT>"] == subkey)]<EOL>if df["<STR_LIT:type>"].values[<NUM_LIT:0>] == "<STR_LIT:bool>":<EOL><INDENT>return bool(df["<STR_LIT:value>"].values[<NUM_LIT:0>])<EOL><DEDENT>elif df["<STR_LIT:type>"].values[<NUM_LIT:0>] == "<STR_LIT:int>":<EOL><INDENT>return int(df["<STR_LIT:value>"].values[<NUM_LIT:0>])<EOL><DEDENT>elif df["<STR_LIT:type>"].values[<NUM_LIT:0>] == "<STR_LIT>":<EOL><INDENT>if df["<STR_LIT:value>"].values[<NUM_LIT:0>] is None and not in_path_none:<EOL><INDENT>raise ValueError('<STR_LIT>'.format(key,<EOL>subkey))<EOL><DEDENT>return df["<STR_LIT:value>"].values[<NUM_LIT:0>]<EOL><DEDENT>else:<EOL><INDENT>return df["<STR_LIT:value>"].values[<NUM_LIT:0>]<EOL><DEDENT>
Get the current value of the option.

        :param str key: First identifier of the option.
        :param str subkey: Second identifier of the option.
        :param bool in_path_none: Allows for ``in_path`` values of
            :data:`None` to be retrieved.

        :return: Current value of the option (type varies).

        :raise:
            :NotRegisteredError: If ``key`` or ``subkey`` do not define
                any option.
            :ValueError: If a ``in_path`` type with :data:`None` value is
                requested.