Ask AI

Source code for dagster_airlift.core.basic_auth

import requests

from dagster_airlift.core.airflow_instance import AirflowAuthBackend


[docs] class AirflowBasicAuthBackend(AirflowAuthBackend): """A :py:class:`dagster_airlift.core.AirflowAuthBackend` that authenticates using basic auth. Args: webserver_url (str): The URL of the webserver. username (str): The username to authenticate with. password (str): The password to authenticate with. Examples: Creating a :py:class:`AirflowInstance` using this backend. .. code-block:: python from dagster_airlift.core import AirflowInstance, AirflowBasicAuthBackend af_instance = AirflowInstance( name="my-instance", auth_backend=AirflowBasicAuthBackend( webserver_url="https://my-webserver-hostname", username="my-username", password="my-password" ) ) """ def __init__(self, webserver_url: str, username: str, password: str): self._webserver_url = webserver_url self.username = username self.password = password def get_session(self) -> requests.Session: session = requests.Session() session.auth = (self.username, self.password) return session def get_webserver_url(self) -> str: return self._webserver_url