@connect
Overview
The @connect
decorator is used to wrap functions that handle connections or authentication tasks. It defines the syntax for writing a connection command, which instantiates the connection in Kognitos to the third-party API or service that's implemented in your Python function.
Syntax
@connect(*args, **kwargs)
Keyword Arguments
name
str
A name to associate with the connection. If not provided, it defaults to the function name.
noun_phrase
str
A unique label to identify the authentication method. If not provided, it will be inferred from the function name. Examples include, but are not limited to:
noun_phrase="api keys"
noun_phrase="client credentials"
noun_phrase="user password authentication"
Implementation Example
This is an example implementation of connecting to the OpenWeather API using an API key:
@connect(noun_phrase="api keys")
def connect(self, api_key: str):
"""
Authenticate to Open Weather API using the specified API key.
You can obtain your own API key by visiting Open Weather's
website at https://openweathermap.org/appid.
Arguments:
api_key: The API key to be used for connecting
Labels:
api_key: API Key
"""
api_key = os.getenv("API_KEY", api_key)
test_url = f"{self._base_url}?appid={api_key}&q=London"
response = requests.get(test_url, timeout=self._timeout)
if response.status_code == 401:
response_data = response.json()
if "Invalid API key" in response_data.get("message", ""):
raise ValueError("Invalid API key")
self._api_key = api_key
Refer to connections for additional context and usage examples.
Last updated
Was this helpful?