Skip to content

Commit 10d5dc4

Browse files
build: allow python 3.12 install with DVE
deal with typing issue on get_type_hints generated from bumping from 3.11 to 3.12
1 parent 61c0523 commit 10d5dc4

6 files changed

Lines changed: 15 additions & 4 deletions

File tree

.mise.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[tools]
2-
python="3.11"
2+
python="3.12"
33
poetry="2.3.3"
44
java="liberica-1.8.0"

poetry.lock

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ packages = [
3030
]
3131

3232
[tool.poetry.dependencies]
33-
python = ">=3.10,<3.12"
33+
python = ">=3.10,<3.13"
3434
boto3 = ">=1.34.162,<1.36" # breaking change beyond 1.36
3535
botocore = ">=1.34.162,<1.36" # breaking change beyond 1.36
3636
delta-spark = "2.4.*"

src/dve/core_engine/backends/implementations/duckdb/duckdb_helpers.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ def get_duckdb_type_from_annotation(type_annotation: Any) -> DuckDBPyType:
169169
) # pragma: no cover
170170
if get_origin(field_annotation) is ClassVar:
171171
continue
172+
if field_name in ("__slots__"):
173+
continue
172174

173175
fields[field_name] = get_duckdb_type_from_annotation(field_annotation)
174176

@@ -382,6 +384,8 @@ def get_duckdb_cast_statement_from_annotation(
382384
) # pragma: no cover
383385
if get_origin(field_annotation) is ClassVar:
384386
continue
387+
if field_name in ("__slots__"):
388+
continue
385389

386390
fields[field_name] = get_duckdb_cast_statement_from_annotation(
387391
f"{element_name}.{field_name}", field_annotation, False, date_regex, timestamp_regex

src/dve/core_engine/backends/implementations/spark/spark_helpers.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,8 @@ def get_type_from_annotation(type_annotation: Any) -> st.DataType:
205205
) # pragma: no cover
206206
if get_origin(field_annotation) is ClassVar:
207207
continue
208+
if field_name in ("__slots__"):
209+
continue
208210

209211
field = st.StructField(field_name, get_type_from_annotation(field_annotation))
210212
fields.append(field)
@@ -507,6 +509,8 @@ def get_spark_cast_statement_from_annotation(
507509
) # pragma: no cover
508510
if get_origin(field_annotation) is ClassVar:
509511
continue
512+
if field_name in ("__slots__"):
513+
continue
510514

511515
fields[field_name] = get_spark_cast_statement_from_annotation(
512516
f"{element_name}.{field_name}", field_annotation, False, date_regex, timestamp_regex

src/dve/core_engine/backends/utilities.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,8 @@ def get_polars_type_from_annotation(type_annotation: Any) -> PolarsType:
154154
) # pragma: no cover
155155
if get_origin(field_annotation) is ClassVar:
156156
continue
157+
if field_name in ('__slots__'):
158+
continue
157159

158160
fields[field_name] = get_polars_type_from_annotation(field_annotation)
159161

0 commit comments

Comments
 (0)