From d6a1e6a069f855c1b91549309c93d8d111b80133 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 53cf52abbd5501002a10beec69c8fe4c3ee11d2a 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", )