def __init__(self, api_key: str, app_name: str = sys.argv[0], api_endpoint: str = "https://api.traceloop.com"):
        """
        Initialize a new Traceloop client.

        Args:
            api_key (str): Your Traceloop API key
            app_name (Optional[str], optional): The name of your application. Defaults to sys.argv[0].
            api_endpoint (Optional[str], optional): Custom API endpoint. Defaults to https://api.traceloop.com.
        """
        if not api_key or not api_key.strip():
            raise ValueError("API key is required")

        self.app_name = app_name
        self.api_endpoint = api_endpoint or "https://api.traceloop.com"
        self.api_key = api_key
        self._http = HTTPClient(base_url=self.api_endpoint, api_key=self.api_key, version=__version__)
        self.user_feedback = UserFeedback(self._http, self.app_name)

        Initialize a new Traceloop client.

        Args:
            api_key (str): Your Traceloop API key
            app_name (Optional[str], optional): The name of your application. Defaults to sys.argv[0].
            api_endpoint (Optional[str], optional): Custom API endpoint. Defaults to https://api.traceloop.com.
        
packages/traceloop-sdk/traceloop/sdk/client/client.py