dbt-labs / dbt-adapters

Apache License 2.0
28 stars 38 forks source link

Remove support for Python 3.8 #336

Closed mikealfare closed 1 month ago

mikealfare commented 1 month ago

Short description

Python 3.8 is officially EOL (as of 10-07-2024). We have already run into an issue where something broke on scheduled testing because a dependency no longer supports Python 3.8. Also, dbt-core has removed support for Python 3.8, both on main and for all older versions. We should update our CI workflows to no longer test against Python 3.8 and update our supported versions on PyPI to no longer list Python 3.8 (since we will not be testing against it).

### PRs
- [ ] dbt-labs/dbt-snowflake#1216
- [ ] https://github.com/dbt-labs/dbt-snowflake/pull/1218
- [ ] https://github.com/dbt-labs/dbt-snowflake/pull/1219
- [ ] https://github.com/dbt-labs/dbt-snowflake/pull/1220
- [ ] https://github.com/dbt-labs/dbt-snowflake/pull/1221
- [ ] https://github.com/dbt-labs/dbt-bigquery/pull/1379
- [ ] https://github.com/dbt-labs/dbt-bigquery/pull/1381
- [ ] https://github.com/dbt-labs/dbt-bigquery/pull/1382
- [ ] https://github.com/dbt-labs/dbt-bigquery/pull/1383
- [ ] https://github.com/dbt-labs/dbt-bigquery/pull/1384
- [ ] https://github.com/dbt-labs/dbt-redshift/pull/932
- [ ] https://github.com/dbt-labs/dbt-redshift/pull/933
- [ ] https://github.com/dbt-labs/dbt-redshift/pull/934
- [ ] https://github.com/dbt-labs/dbt-redshift/pull/935
- [ ] https://github.com/dbt-labs/dbt-redshift/pull/936
- [ ] https://github.com/dbt-labs/dbt-spark/pull/1124
- [ ] https://github.com/dbt-labs/dbt-spark/pull/1125
- [ ] https://github.com/dbt-labs/dbt-spark/pull/1126
- [ ] https://github.com/dbt-labs/dbt-spark/pull/1127
- [ ] https://github.com/dbt-labs/dbt-spark/pull/1128
### Acceptance criteria
- [x] We don't test against Python 3.8 in any GHA workflow
- [x] We test against all versions of Python that we say are supported on PyPI
- [x] Where we only test against a single version of Python, that version is the oldest supported version (generally 3.9)
### Testing
- [x] A full CI run is sufficient for testing this as the updates are all CI related

Security

N/A

Docs

We should remove Python 3.8 support from all of our docs. Updating this repo will remove it from places like PyPI or READMEs. But we might also list this on docs.getdbt.com.

Consequences

This effectively locks all feature development for 3.8 as newer patch versions on PyPI will not be available to pip. Adapters could implement new features themselves, but they would not be able to pick up new features from dbt-adapters, or a concrete adapter that they subclass (e.g. dbt-databricks uses dbt-spark). As 3.8 is EOL, this is considered low risk.

FishtownBuildBot commented 1 month ago

Opened a new issue in dbt-labs/docs.getdbt.com: https://github.com/dbt-labs/docs.getdbt.com/issues/6333