From 0ab41d3e1dde929ba56f7dad5910085cc0c5ec29 Mon Sep 17 00:00:00 2001 From: Damian Owsianny Date: Thu, 24 Oct 2024 14:40:42 +0200 Subject: [PATCH 1/2] Drop support for Python 3.8 --- .../unreleased/Breaking Changes-20241024-172250.yaml | 7 +++++++ CONTRIBUTING.md | 4 ++-- setup.py | 9 ++++----- 3 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 .changes/unreleased/Breaking Changes-20241024-172250.yaml diff --git a/.changes/unreleased/Breaking Changes-20241024-172250.yaml b/.changes/unreleased/Breaking Changes-20241024-172250.yaml new file mode 100644 index 00000000..067237b7 --- /dev/null +++ b/.changes/unreleased/Breaking Changes-20241024-172250.yaml @@ -0,0 +1,7 @@ +kind: Breaking Changes +body: Drop support for Python 3.8 +time: 2024-10-24T17:22:50.717059+02:00 +custom: + Author: damian3031 + Issue: "" + PR: "439" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ff05e905..c0e539a8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ There are some tools that will be helpful to you in developing locally. While th These are the tools used in `dbt-trino` development and testing: -- [`tox`](https://tox.readthedocs.io/en/latest/) to manage virtualenvs across python versions. We currently target the latest patch releases for Python 3.8, 3.9, 3.10, and 3.11 +- [`tox`](https://tox.readthedocs.io/en/latest/) to manage virtualenvs across python versions. We currently target the latest patch releases for Python 3.9, 3.10, and 3.11 - [`pytest`](https://docs.pytest.org/en/latest/) to define, discover, and run tests - [`flake8`](https://flake8.pycqa.org/en/latest/) for code linting - [`black`](https://github.com/psf/black) for code formatting @@ -107,7 +107,7 @@ make dbt-starburst-tests #### `tox` -[`tox`](https://tox.readthedocs.io/en/latest/) takes care of managing virtualenvs and install dependencies in order to run tests. You can also run tests in parallel, for example, you can run unit tests for Python 3.8, Python 3.9, Python 3.10, and Python 3.11 checks in parallel with `tox -p`. Also, you can run unit tests for specific python versions with `tox -e py39`. The configuration for these tests in located in `tox.ini`. +[`tox`](https://tox.readthedocs.io/en/latest/) takes care of managing virtualenvs and install dependencies in order to run tests. You can also run tests in parallel, for example, you can run unit tests for Python 3.9, Python 3.10, and Python 3.11 checks in parallel with `tox -p`. Also, you can run unit tests for specific python versions with `tox -e py39`. The configuration for these tests in located in `tox.ini`. #### `pytest` diff --git a/setup.py b/setup.py index 2c02b594..e945cce0 100644 --- a/setup.py +++ b/setup.py @@ -3,10 +3,10 @@ import re import sys -# require python 3.8 or newer -if sys.version_info < (3, 8): +# require python 3.9 or newer +if sys.version_info < (3, 9): print("Error: dbt does not support this version of Python.") - print("Please upgrade to Python 3.8 or higher.") + print("Please upgrade to Python 3.9 or higher.") sys.exit(1) @@ -89,11 +89,10 @@ def _dbt_trino_version(): "Operating System :: Microsoft :: Windows", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ], - python_requires=">=3.8", + python_requires=">=3.9", ) From 9253339887f5f4ca350a7621582b4a53f0b8a130 Mon Sep 17 00:00:00 2001 From: Damian Owsianny Date: Thu, 24 Oct 2024 14:49:39 +0200 Subject: [PATCH 2/2] Add tests against Python 3.13 --- .changes/unreleased/Under the Hood-20241024-172431.yaml | 7 +++++++ .github/workflows/ci.yml | 5 ++++- CONTRIBUTING.md | 4 ++-- setup.py | 1 + 4 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 .changes/unreleased/Under the Hood-20241024-172431.yaml diff --git a/.changes/unreleased/Under the Hood-20241024-172431.yaml b/.changes/unreleased/Under the Hood-20241024-172431.yaml new file mode 100644 index 00000000..4f92c842 --- /dev/null +++ b/.changes/unreleased/Under the Hood-20241024-172431.yaml @@ -0,0 +1,7 @@ +kind: Under the Hood +body: Add tests against Python 3.13 +time: 2024-10-24T17:24:31.976133+02:00 +custom: + Author: damian3031 + Issue: "" + PR: "439" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 15f8704b..0e3a2dba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,12 +42,15 @@ jobs: - "3.10" - "3.11" - "3.12" + - "3.13" isStarburstBranch: - ${{ (github.event_name == 'pull_request' && contains(github.event.pull_request.head.repo.full_name, 'starburstdata')) || github.event_name != 'pull_request' }} exclude: - engine: "starburst_galaxy" - python: "3.12" + python: "3.13" isStarburstBranch: false + - engine: "starburst_galaxy" + python: "3.12" - engine: "starburst_galaxy" python: "3.11" - engine: "starburst_galaxy" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c0e539a8..59999d58 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ There are some tools that will be helpful to you in developing locally. While th These are the tools used in `dbt-trino` development and testing: -- [`tox`](https://tox.readthedocs.io/en/latest/) to manage virtualenvs across python versions. We currently target the latest patch releases for Python 3.9, 3.10, and 3.11 +- [`tox`](https://tox.readthedocs.io/en/latest/) to manage virtualenvs across python versions. We currently target the latest patch releases for Python 3.9, 3.10, 3.11, 3.12, and 3.13 - [`pytest`](https://docs.pytest.org/en/latest/) to define, discover, and run tests - [`flake8`](https://flake8.pycqa.org/en/latest/) for code linting - [`black`](https://github.com/psf/black) for code formatting @@ -107,7 +107,7 @@ make dbt-starburst-tests #### `tox` -[`tox`](https://tox.readthedocs.io/en/latest/) takes care of managing virtualenvs and install dependencies in order to run tests. You can also run tests in parallel, for example, you can run unit tests for Python 3.9, Python 3.10, and Python 3.11 checks in parallel with `tox -p`. Also, you can run unit tests for specific python versions with `tox -e py39`. The configuration for these tests in located in `tox.ini`. +[`tox`](https://tox.readthedocs.io/en/latest/) takes care of managing virtualenvs and install dependencies in order to run tests. You can also run tests in parallel, for example, you can run unit tests for Python 3.9, 3.10, 3.11, 3.12, and 3.13 checks in parallel with `tox -p`. Also, you can run unit tests for specific python versions with `tox -e py39`. The configuration for these tests in located in `tox.ini`. #### `pytest` diff --git a/setup.py b/setup.py index e945cce0..39acf8d3 100644 --- a/setup.py +++ b/setup.py @@ -93,6 +93,7 @@ def _dbt_trino_version(): "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ], python_requires=">=3.9", )