Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test dbt with Python 3.9 #2822

Closed
gshank opened this issue Oct 8, 2020 · 7 comments · Fixed by #2960
Closed

test dbt with Python 3.9 #2822

gshank opened this issue Oct 8, 2020 · 7 comments · Fixed by #2960
Assignees
Labels
bug Something isn't working

Comments

@gshank
Copy link
Contributor

gshank commented Oct 8, 2020

Hologram pull request dbt-labs/hologram#37 updates hologram to be compatible with Python 3.9. Update tox.ini with Python 3.9 targets and ensure that the test suite passes.

@jtcohen6
Copy link
Contributor

If we determine that adding python 3.9 support is as simple as bumping the hologram dependency, we should release a new patch version (v0.18.2) that is compatible with py39, in addition to making v0.19.0 compatible. This will be a boon to users who cannot immediately upgrade to v0.19 because of breaking changes and deprecations.

@jtcohen6
Copy link
Contributor

We won't be able to "officially" support python 3.9 for the core dbt distribution until snowflake-connector-python adds support for 3.9, by way of pyarrow: snowflakedb/snowflake-connector-python#562

As such, we won't be releasing a py39-compatible patch (v0.18.2). In the meantime, we'll make dbt-core work with python 3.9, and users of specific plugins will be able to pip install dbt-{adapter} within 3.9 environments. Hopefully it will just work, unless that plugin has other dependencies that are not yet compatible (as in the case of dbt-snowflake).

@MartinNowak
Copy link

As such, we won't be releasing a py39-compatible patch (v0.18.2). In the meantime, we'll make dbt-core work with python 3.9, and users of specific plugins will be able to pip install dbt-{adapter} within 3.9 environments. Hopefully it will just work, unless that plugin has other dependencies that are not yet compatible (as in the case of dbt-snowflake).

It seems that hologram wasn't updated as part of that v0.18.2 release, thus I'm still running into #2865 (duplicate of this issue) with Python 3.9.

The fix was merged with dbt-labs/hologram#34 and released with hologram==0.0.12, dbt==0.18.2 requires exactly hologram==0.0.10.

As a workaround I've been able to use dbt 0.18.2 with the newer hologram 0.0.14 for our dbt-bigquery use cases.

@jtcohen6
Copy link
Contributor

@MartinNowak You're right, dbt v0.18.2 isn't compatible with python 3.9. We decided to focus instead on py39 compatibility in v0.19 (for dbt-core) and v0.20 (for all plugins included by pip install dbt). The only reason we ended up releasing v0.18.2 is because of a breaking change in the newest agate release (#3160).

@smitthakkar1
Copy link

Is dbt 0.20 compatible with Python 3.9.4 ?

@jtcohen6
Copy link
Contributor

@smitthakkar1 Yes! Are you seeing any issues using the two together?

@smitthakkar1
Copy link

smitthakkar1 commented Jul 29, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants