v0.5 — Adapter-specific dependencies, hooks with arguments, and --full-refresh support
Make the fal package lighter by installing only the dependencies needed for your adapter.
With the 0.5 release, we make the
fal package lighter by installing only the dependencies needed for your adapter,
pip install falfor
pip install fal[<adapter>]where
<adapter>is your preferred adapter used in
pip install dbt-<adapter>.
Adapter-specific dependencies (#504)
Until now, fal installed dependencies for all adapters that we support. Starting with v0.5, fal installs only the dependencies you actually need to run your scripts. This is done with
pip install fal[<adapter>], an example would be
pip install fal[snowflake].
We realized that the size of our dependencies are getting bigger as we add specific improvements to each adapter. We wanted to modularize these for a lighter package footprint. Here are the adapters that we support so far:
- snowflake – PR #483 introduces support for datetime, and array values in DataFrames
- bigquery – PR #425 makes read and write times better for BigQuery, and introduces support for datetime, and array values in DataFrames
P.S. Not seeing your favorite adapter here? Open a GitHub issue or contact us in Discord!
Hooks with arguments (#487)
There are some exciting development happening around the fal pre and post hooks. The first one is making it easy to pass arguments to hooks without having to parse the entire
From now on, you can set arguments for a hook in
schema.yml with the
You can then access the
arguments in the
add.py script through the
--full-refresh flag for fal flow (#501)
You can now add the
--full-refresh flag to your
fal flow runs and fal will pass them through to dbt under the hood for you.
Other fixes and improvements
- Structured hooks for passing arguments (#487)
- Optimize write and read for snowflake (#483)
- Implement isolated hooks (#489)
- Offer adapter_response per model in CurrentModel class (#498)
- Separate adapters dependencies as extras (#504)
- Make exit code of Python non-zero if there are errors (#481)
- Filter source nodes from nodes to run (#490)