diff --git a/.changes/unreleased/Features-20240731-210800.yaml b/.changes/unreleased/Features-20240731-210800.yaml new file mode 100644 index 00000000..b2fc1f0a --- /dev/null +++ b/.changes/unreleased/Features-20240731-210800.yaml @@ -0,0 +1,6 @@ +kind: Features +body: Add support for Python 3.12 +time: 2024-07-31T21:08:00.170999-04:00 +custom: + Author: mikealfare + Issue: "17" diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 590f6f67..374908f4 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -82,7 +82,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] services: postgres: @@ -148,7 +148,7 @@ jobs: fail-fast: false matrix: platform: [ubuntu-22.04, macos-12] - python-version: ["3.8", "3.11"] + python-version: ["3.8", "3.12"] steps: - name: "Check out repository" uses: actions/checkout@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1139380a..bbf36399 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,6 +19,10 @@ on: description: "Only release Docker image, skip GitHub & PyPI" type: boolean default: false + python_version: + description: "Python version for building and testing the build" + type: string + default: "3.12" permissions: contents: write # this is the permission that allows creating a new release @@ -53,6 +57,8 @@ jobs: - name: "Setup `hatch`" uses: dbt-labs/dbt-adapters/.github/actions/setup-hatch@main + with: + python-version: ${{ inputs.python_version }} - name: "Set archive name" id: archive diff --git a/.github/workflows/release_prep_hatch.yml b/.github/workflows/release_prep_hatch.yml index a97268c6..18d7637b 100644 --- a/.github/workflows/release_prep_hatch.yml +++ b/.github/workflows/release_prep_hatch.yml @@ -77,7 +77,7 @@ defaults: shell: bash env: - PYTHON_TARGET_VERSION: 3.11 + PYTHON_TARGET_VERSION: 3.12 NOTIFICATION_PREFIX: "[Release Prep]" jobs: diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index e171ff78..afb88136 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -23,7 +23,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] steps: - name: Check out repository diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c869fe86..0bd01f7c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -27,6 +27,7 @@ repos: - --target-version=py39 - --target-version=py310 - --target-version=py311 + - --target-version=py312 - repo: https://github.com/pycqa/flake8 rev: 7.0.0 diff --git a/docker/Dockerfile b/docker/Dockerfile index 7c8dc14e..b6a87dfc 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ # this image gets published to GHCR for production use -ARG py_version=3.11.2 +ARG py_version=3.12.4 FROM python:$py_version-slim-bullseye as base diff --git a/pyproject.toml b/pyproject.toml index 0fb7b885..e6848a4f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] dependencies = [ "psycopg2-binary>=2.9,<3.0",