File tree Expand file tree Collapse file tree 2 files changed +14
-1
lines changed
src/airflow/providers/presto/hooks Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -74,6 +74,9 @@ dependencies = [
7474"google" = [
7575 " apache-airflow-providers-google"
7676]
77+ "sqlalchemy" = [
78+ " sqlalchemy>=1.4.49" ,
79+ ]
7780
7881[dependency-groups ]
7982dev = [
@@ -85,6 +88,7 @@ dev = [
8588 " apache-airflow-providers-google" ,
8689 # Additional devel dependencies (do not remove this line and add extra development dependencies)
8790 " apache-airflow-providers-common-sql[pandas,polars]" ,
91+ " apache-airflow-providers-presto[sqlalchemy]" ,
8892]
8993
9094# To build docs:
Original file line number Diff line number Diff line change 2525from deprecated import deprecated
2626from prestodb .exceptions import DatabaseError
2727from prestodb .transaction import IsolationLevel
28- from sqlalchemy .engine import URL
2928
3029from airflow .configuration import conf
3130from airflow .exceptions import AirflowOptionalProviderFeatureException , AirflowProviderDeprecationWarning
4241 )
4342
4443if TYPE_CHECKING :
44+ from sqlalchemy .engine import URL
45+
4546 from airflow .models import Connection
4647
4748T = TypeVar ("T" )
@@ -150,6 +151,14 @@ def get_conn(self) -> Connection:
150151 @property
151152 def sqlalchemy_url (self ) -> URL :
152153 """Return a `sqlalchemy.engine.URL` object constructed from the connection."""
154+ try :
155+ from sqlalchemy .engine import URL
156+ except (ImportError , ModuleNotFoundError ) as err :
157+ raise AirflowOptionalProviderFeatureException (
158+ "SQLAlchemy is not installed. Please install it with "
159+ "`pip install 'apache-airflow-providers-presto[sqlalchemy]'`."
160+ ) from err
161+
153162 conn = self .get_connection (self .get_conn_id ())
154163 extra = conn .extra_dejson or {}
155164
You can’t perform that action at this time.
0 commit comments