Exemplo n.º 1
0
    def __init__(self, **kwargs):

        self.retry_count = kwargs.get("retry_count", 3)
        self.pause = kwargs.get("pause", 0.5)
        self.session = _init_session(kwargs.get("session"))
        self.json_parse_int = kwargs.get("json_parse_int")
        self.json_parse_float = kwargs.get("json_parse_float")
        self.output_format = kwargs.get("output_format",
                                        os.getenv("IEX_OUTPUT_FORMAT", 'json'))
        if self.output_format not in self._VALID_FORMATS:
            raise ValueError("Please enter a valid output format ('json' "
                             "or 'pandas').")
        self.token = kwargs.get("token")

        # Get desired API version from environment variables
        # Defaults to IEX Cloud
        self.version = os.getenv("IEX_API_VERSION", 'v1')
        if self.version in self._VALID_CLOUD_VERSIONS:
            if self.token is None:
                self.token = os.getenv('IEX_TOKEN')
            if not self.token or not isinstance(self.token, str):
                raise auth_error('The IEX Cloud API key must be provided '
                                 'either through the token variable or '
                                 'through the environmental variable '
                                 'IEX_TOKEN.')
        else:
            raise ValueError("Please select a valid API version.")
Exemplo n.º 2
0
    def __init__(self, **kwargs):

        self.retry_count = kwargs.get("retry_count", 3)
        self.pause = kwargs.get("pause", 0.5)
        self.session = _init_session(kwargs.get("session"))
        self.json_parse_int = kwargs.get("json_parse_int")
        self.json_parse_float = kwargs.get("json_parse_float")
        self.output_format = kwargs.get("output_format",
                                        os.getenv("IEX_OUTPUT_FORMAT", 'json'))
        if self.output_format not in self._VALID_FORMATS:
            raise ValueError("Please enter a valid output format ('json' "
                             "or 'pandas').")
        self.token = kwargs.get("token")

        # Get desired API version from environment variables
        # Defaults to IEX Cloud
        self.version = os.getenv("IEX_API_VERSION", 'iexcloud-v1')
        if self.version in self._VALID_CLOUD_VERSIONS:
            if self.token is None:
                self.token = os.getenv('IEX_TOKEN')
            if not self.token or not isinstance(self.token, str):
                raise auth_error('The IEX Cloud API key must be provided '
                                 'either through the token variable or '
                                 'through the environmental variable '
                                 'IEX_TOKEN.')
        elif self.version == 'v1':
            import warnings
            msg = "Support for the legacy Version 1 IEX Developer "\
                  "API will end on June 1, 2019. For more "\
                  "information, see %s." % MIGRATION_URL
            warnings.warn(msg)
        else:
            raise ValueError("Please select a valid API version.")
Exemplo n.º 3
0
    def __init__(self, **kwargs):

        self.retry_count = kwargs.get("retry_count", 3)
        self.pause = kwargs.get("pause", 0.5)
        self.session = _init_session(kwargs.get("session"))
        self.json_parse_int = kwargs.get("json_parse_int")
        self.json_parse_float = kwargs.get("json_parse_float")
        self._output_format = kwargs.get("output_format",
                                         os.getenv("IEX_OUTPUT_FORMAT"))
        if self.output_format not in self._VALID_FORMATS:
            raise ValueError(
                "Please enter a valid output format (json or pandas).")
        self.token = kwargs.get("token")
        if self.token is None:
            self.token = os.getenv("IEX_TOKEN")
        if not self.token or not isinstance(self.token, str):
            raise auth_error("The IEX Cloud API key must be provided "
                             "either through the token variable or "
                             "through the environmental variable "
                             "IEX_TOKEN.")
        if self.token.startswith(("Tsk", "Tpk")):
            logger.info(
                "Using a sandboxed environment because a test key was detected"
            )
            os.environ["IEX_API_VERSION"] = "sandbox"
        # Get desired API version from environment variables
        # Defaults to IEX Cloud
        self.version = os.getenv("IEX_API_VERSION", "stable")
        if self.version not in self._VALID_API_VERSIONS:
            raise ValueError("Please select a valid API version.")
Exemplo n.º 4
0
    def __init__(self, *args, **kwargs):
        """ Initialize the class

        Parameters
        ----------
        retry_count: int
            Desired number of retries if a request fails
        pause: float
            Pause time between retry attempts
        session: requests.session
            A cached requests-cache session
        """
        self.retry_count = kwargs.pop("retry_count", 3)
        self.pause = kwargs.pop("pause", 0.001)
        self.session = kwargs.pop("session", _init_session(None))
Exemplo n.º 5
0
    def __init__(self, *args, **kwargs):
        """ Initialize the class

        Parameters
        ----------
        retry_count: int
            Desired number of retries if a request fails
        pause: float default 0.001, optional
            Pause time between retry attempts
        session: requests_cache.session, default None, optional
            A cached requests-cache session
        """
        self.retry_count = kwargs.pop("retry_count", 3)
        self.pause = kwargs.pop("pause", 0.001)
        self.session = _init_session(kwargs.pop("session", None))
        self.json_parse_int = kwargs.pop("json_parse_int", None)
        self.json_parse_float = kwargs.pop("json_parse_float", None)
Exemplo n.º 6
0
    def __init__(self, **kwargs):
        """ Initialize the class

        Parameters
        ----------
        retry_count: int, default 3, optional
            Desired number of retries if a request fails
        pause: float default 0.5, optional
            Pause time between retry attempts
        session: requests_cache.session, default None, optional
            A cached requests-cache session
        json_parse_int: datatype, default int, optional
            Desired integer parsing datatype
        json_parse_float: datatype, default float, optional
            Desired floating point parsing datatype
        output_format: str, default "json", optional
            Desired output format (json or pandas DataFrame). This can also be
            set using the environment variable ``IEX_OUTPUT_FORMAT``.
        token: str, optional
            Authentication token (reuqired for use with IEX Cloud)
        """
        self.retry_count = kwargs.get("retry_count", 3)
        self.pause = kwargs.get("pause", 0.5)
        self.session = _init_session(kwargs.get("session"))
        self.json_parse_int = kwargs.get("json_parse_int")
        self.json_parse_float = kwargs.get("json_parse_float")
        self.output_format = kwargs.get("output_format",
                                        os.getenv("IEX_OUTPUT_FORMAT", 'json'))
        if self.output_format not in self._VALID_FORMATS:
            raise ValueError("Please enter a valid output format ('json' "
                             "or 'pandas').")
        self.token = kwargs.get("token")

        # Get desired API version from environment variables
        # Defaults to v1 API
        self.version = os.getenv("IEX_API_VERSION")
        if self.version in self._VALID_CLOUD_VERSIONS:
            if self.token is None:
                self.token = os.getenv('IEX_TOKEN')
            if not self.token or not isinstance(self.token, str):
                raise auth_error('The IEX Cloud API key must be provided '
                                 'either through the token variable or '
                                 'through the environmental variable '
                                 'IEX_TOKEN.')
        else:
            self.version = 'v1'
Exemplo n.º 7
0
    def __init__(self, **kwargs):
        """ Initialize the class

        Parameters
        ----------
        retry_count: int, default 3, optional
            Desired number of retries if a request fails
        pause: float default 0.5, optional
            Pause time between retry attempts
        session: requests_cache.session, default None, optional
            A cached requests-cache session
        json_parse_int: datatype, default int, optional
            Desired integer parsing datatype
        json_parse_float: datatype, default float, optional
            Desired floating point parsing datatype
        output_format: str, default "json", optional
            Desired output format (json or pandas DataFrame)
        """
        self.retry_count = kwargs.get("retry_count", 3)
        self.pause = kwargs.get("pause", 0.5)
        self.session = _init_session(kwargs.get("session"))
        self.json_parse_int = kwargs.get("json_parse_int")
        self.json_parse_float = kwargs.get("json_parse_float")
        self.output_format = kwargs.get("output_format", 'json')