[FEATURE] Move Fugue SQL dependencies into extra [sql]
and functions to become soft dependencies
#482
Labels
Milestone
[sql]
and functions to become soft dependencies
#482
Fugue has become the distributed backends of a few high visibility open source projects. These projects only use the
transform
function, but not Fugue SQL. However we recently moved Fugue SQL dependencies to the core dependency to simplify the installation.To be specific, these are the dependencies that are only useful when people use Fugue SQL:
qpd
,fugue-sql-antlr
,sqlglot
andjinja2
This has caused issues due to the breaking changes of these SQL only dependencies, as well as conflicting dependencies (e.g. antlr4-python3-runtime version conflicts).
In order to minimize the dependency impact to the core features of fugue. We may need to bring back the
sql
extra. Ideally, Fugue core dependency should exclude the SQL related dependencies. And it should not affect the use oftransform
. But when users need Fugue SQL, they should explicitly installfugue[sql]
. But on the other hand, we still can importfsql
directly fromfugue
instead offugue_sql
. That is why we call them soft dependencies.In order to make this breaking change, we need to have two steps.
<0.9
, we still keep the Fugue SQL dependencies in the core dependency, but we make them soft dependencies inside the code. So if we manually remove those packages, thetransform
part should still work, we should make this change and add the correspondent tests to handle the breaking scenarios.>=0.9
, we will move the Fugue SQL dependenciesqpd
,fugue-sql-antlr
,sqlglot
andjinja2
out from core dependencies, and into the extra[sql]
The text was updated successfully, but these errors were encountered: