import re from collections import OrderedDict import cachetools import more_itertools import requests import structlog from greynoise.__version__ import __version__ from greynoise.api.analyzer import Analyzer from greynoise.api.filter import Filter from greynoise.exceptions import RateLimitError, RequestFailure from greynoise.util import configure_logging, load_config, validate_ip if not structlog.is_configured(): configure_logging() LOGGER = structlog.get_logger() def initialize_cache(cache_max_size, cache_ttl): """A function to initialize cache""" cache = cachetools.TTLCache(maxsize=cache_max_size, ttl=cache_ttl) return cache class GreyNoise(object): """GreyNoise API client. :param api_key: Key use to access the API. :type api_key: str
def main(): """GreyNoise CLI.""" if not structlog.is_configured(): configure_logging()