fal-ai / dbt-fal

do more with dbt. dbt-fal helps you run Python alongside dbt, so you can send Slack alerts, detect anomalies and build machine learning models.
https://fal.ai/dbt-fal
Apache License 2.0
853 stars 75 forks source link

Upgrading dbt-core from 1.5.1 to 1.5.2+ forces downgrade of dbt-fal to 1.5.4 #891

Open kinghuang opened 1 year ago

kinghuang commented 1 year ago

This issue replaces #890.

Describe the bug

dbt-fal 1.5.5 through 1.5.7 changes the dbt-core dependency from a more permissive >=1.5.0, <1.6 to >= 1.5, <=1.5.1. When upgrading dbt from 1.5.1 to 1.5.2 or 1.5.3, this forces a downgrade of dbt-fal to 1.5.4.

dbt 1.5.4

https://github.com/fal-ai/fal/blob/529c9311dcc90e1c46386b349e0629fe5fdef894/projects/adapter/pyproject.toml#L20

dbt 1.5.7

https://github.com/fal-ai/fal/blob/76d9d7502e4e16c0a02ca7387701a0b1cdb2e166/projects/adapter/pyproject.toml#L25

Your environment

How to reproduce

Using a python:3.11.4 container, these are the results of installing dbt-core and dbt-fal under specific version pins. During this issue's creation, the latest versions of dbt-core and dbt-fal were dbt-core==1.5.3 and dbt-fal==1.5.7.

docker container run -it --rm python:3.11.4 bash

with dbt-core==1.5.3 and dbt-fal (unpinned)

pip install dbt-core==1.5.3 dbt-fal
pip list
Package                            Version
---------------------------------- ---------
dbt-core                           1.5.3
dbt-fal                            1.5.4

with dbt-core dbt-fal==1.5.7

pip install dbt-core dbt-fal==1.5.7
pip list
Package                            Version
---------------------------------- ---------
dbt-core                           1.5.1
dbt-fal                            1.5.7

with dbt-core dbt-fal (no pinning)

pip install dbt-core dbt-fal
pip list
Package                            Version
---------------------------------- ---------
dbt-core                           1.5.1
dbt-fal                            1.5.7

Expected behavior

I want to be able to use the latest patch update of dbt-core 1.5 without downgrading dbt-fal. It's not obvious why dbt-fal has a tighter dependency after dbt-fal 1.5.4.

Actual behavior

Upgrading to dbt-core from 1.5.1 to 1.5.3 necessitated a downgrade of dbt-fal to 1.5.4.

Screenshots

See examples above.

Additional context

This change occurred when the dbt-fal and fal packages were merged into dbt-fal in #882.

chamini2 commented 1 year ago

We have a new strict check on dbt-core version because dbt-core 1.5.2 introduced breaking changes. We have to fix these before we can re open dbt-fal to 1.5.2+