Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
aranke committed Feb 23, 2024
1 parent d1ebf9d commit 9673c4a
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 5 deletions.
6 changes: 6 additions & 0 deletions .changes/unreleased/Under the Hood-20240221-145058.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
kind: Under the Hood
body: Make dbt-core compatible with Python 3.12
time: 2024-02-21T14:50:58.983559Z
custom:
Author: l1xnan aranke
Issue: "9007"
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,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" ]

env:
TOXENV: "unit"
Expand Down Expand Up @@ -157,7 +157,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" ]
os: [ubuntu-20.04]
split-group: ${{ fromJson(needs.integration-metadata.outputs.split-groups) }}
include: ${{ fromJson(needs.integration-metadata.outputs.include) }}
Expand Down
4 changes: 1 addition & 3 deletions core/dbt/task/test.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
from distutils.util import strtobool

import agate
import daff
import io
import json
import re
from dataclasses import dataclass
from dbt.utils import _coerce_decimal
from dbt.utils import _coerce_decimal, strtobool
from dbt_common.events.format import pluralize
from dbt_common.dataclass_schema import dbtClassMixin
import threading
Expand Down
18 changes: 18 additions & 0 deletions core/dbt/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -369,3 +369,21 @@ def args_to_dict(args):

dict_args[key] = var_args[key]
return dict_args


# Taken from https://github.com/python/cpython/blob/3.11/Lib/distutils/util.py
# This is a copy of the function from distutils.util, which was removed in Python 3.12.
def strtobool(val: str) -> bool:
"""Convert a string representation of truth to True or False.
True values are 'y', 'yes', 't', 'true', 'on', and '1'; false values
are 'n', 'no', 'f', 'false', 'off', and '0'. Raises ValueError if
'val' is anything else.
"""
val = val.lower()
if val in ("y", "yes", "t", "true", "on", "1"):
return True

Check warning on line 385 in core/dbt/utils.py

View check run for this annotation

Codecov / codecov/patch

core/dbt/utils.py#L385

Added line #L385 was not covered by tests
elif val in ("n", "no", "f", "false", "off", "0"):
return False

Check warning on line 387 in core/dbt/utils.py

View check run for this annotation

Codecov / codecov/patch

core/dbt/utils.py#L387

Added line #L387 was not covered by tests
else:
raise ValueError("invalid truth value %r" % (val,))

0 comments on commit 9673c4a

Please sign in to comment.